From 3ea9024f557f6b428315dabcf991add1f5dcbd1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Wed, 6 Oct 2010 14:10:59 +0200 Subject: [PATCH] ddraw: Handle WINED3DFMT_R16G16_SNORM. --- dlls/ddraw/utils.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/dlls/ddraw/utils.c b/dlls/ddraw/utils.c index 07c3ccc793a..9d1b8925dc9 100644 --- a/dlls/ddraw/utils.c +++ b/dlls/ddraw/utils.c @@ -311,6 +311,16 @@ void PixelFormat_WineD3DtoDD(DDPIXELFORMAT *DDPixelFormat, enum wined3d_format_i DDPixelFormat->u5.dwLuminanceAlphaBitMask = 0x00000000; break; + case WINED3DFMT_R16G16_SNORM: + DDPixelFormat->dwFlags = DDPF_BUMPDUDV; + DDPixelFormat->dwFourCC = 0; + DDPixelFormat->u1.dwBumpBitCount = 32; + DDPixelFormat->u2.dwBumpDuBitMask = 0x0000ffff; + DDPixelFormat->u3.dwBumpDvBitMask = 0xffff0000; + DDPixelFormat->u4.dwBumpLuminanceBitMask = 0x00000000; + DDPixelFormat->u5.dwLuminanceAlphaBitMask = 0x00000000; + break; + case WINED3DFMT_R5G5_SNORM_L6_UNORM: DDPixelFormat->dwFlags = DDPF_BUMPDUDV; DDPixelFormat->dwFourCC = 0; @@ -579,6 +589,13 @@ enum wined3d_format_id PixelFormat_DD2WineD3D(const DDPIXELFORMAT *DDPixelFormat { return WINED3DFMT_R8G8_SNORM; } + else if ( (DDPixelFormat->u1.dwBumpBitCount == 32 ) && + (DDPixelFormat->u2.dwBumpDuBitMask == 0x0000ffff) && + (DDPixelFormat->u3.dwBumpDvBitMask == 0xffff0000) && + (DDPixelFormat->u4.dwBumpLuminanceBitMask == 0x00000000) ) + { + return WINED3DFMT_R16G16_SNORM; + } else if ( (DDPixelFormat->u1.dwBumpBitCount == 16 ) && (DDPixelFormat->u2.dwBumpDuBitMask == 0x0000001f) && (DDPixelFormat->u3.dwBumpDvBitMask == 0x000003e0) &&