Stefan Dösinger : ddraw: Handle WINED3DFMT_R16G16_SNORM.

Alexandre Julliard julliard at winehq.org
Wed Oct 6 14:04:16 CDT 2010


Module: wine
Branch: master
Commit: 3ea9024f557f6b428315dabcf991add1f5dcbd1c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3ea9024f557f6b428315dabcf991add1f5dcbd1c

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Wed Oct  6 14:10:59 2010 +0200

ddraw: Handle WINED3DFMT_R16G16_SNORM.

---

 dlls/ddraw/utils.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/dlls/ddraw/utils.c b/dlls/ddraw/utils.c
index 07c3ccc..9d1b892 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) &&




More information about the wine-cvs mailing list