Matteo Bruni : wined3d: Restore support for d3d9 extension formats.

Alexandre Julliard julliard at winehq.org
Mon Sep 11 15:07:59 CDT 2017


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

Author: Matteo Bruni <mbruni at codeweavers.com>
Date:   Fri Sep  8 18:44:07 2017 +0200

wined3d: Restore support for d3d9 extension formats.

Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/directx.c         | 7 +++++++
 dlls/wined3d/utils.c           | 4 ++++
 dlls/wined3d/wined3d_private.h | 1 +
 3 files changed, 12 insertions(+)

diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index e30430a..0cd784c 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -5220,6 +5220,13 @@ static BOOL wined3d_check_surface_capability(const struct wined3d_format *format
         return TRUE;
     }
 
+    if ((format->flags[WINED3D_GL_RES_TYPE_TEX_2D] & (WINED3DFMT_FLAG_EXTENSION | WINED3DFMT_FLAG_TEXTURE))
+            == (WINED3DFMT_FLAG_EXTENSION | WINED3DFMT_FLAG_TEXTURE))
+    {
+        TRACE("[OK]\n");
+        return TRUE;
+    }
+
     /* Reject other formats */
     TRACE("[FAILED]\n");
     return FALSE;
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 1c64606..4c878b6 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -333,6 +333,10 @@ static const struct wined3d_format_base_flags format_base_flags[] =
     {WINED3DFMT_D32_FLOAT,            WINED3DFMT_FLAG_FLOAT},
     {WINED3DFMT_S8_UINT_D24_FLOAT,    WINED3DFMT_FLAG_FLOAT},
     {WINED3DFMT_D32_FLOAT_S8X24_UINT, WINED3DFMT_FLAG_FLOAT},
+    {WINED3DFMT_INST,                 WINED3DFMT_FLAG_EXTENSION},
+    {WINED3DFMT_NULL,                 WINED3DFMT_FLAG_EXTENSION},
+    {WINED3DFMT_NVDB,                 WINED3DFMT_FLAG_EXTENSION},
+    {WINED3DFMT_RESZ,                 WINED3DFMT_FLAG_EXTENSION},
 };
 
 struct wined3d_format_block_info
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index e12f2a6..70120e8 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -4114,6 +4114,7 @@ extern enum wined3d_format_id pixelformat_for_depth(DWORD depth) DECLSPEC_HIDDEN
 #define WINED3DFMT_FLAG_DEPTH                       0x00000004
 #define WINED3DFMT_FLAG_STENCIL                     0x00000008
 #define WINED3DFMT_FLAG_RENDERTARGET                0x00000010
+#define WINED3DFMT_FLAG_EXTENSION                   0x00000020
 #define WINED3DFMT_FLAG_FBO_ATTACHABLE              0x00000040
 #define WINED3DFMT_FLAG_FBO_ATTACHABLE_SRGB         0x00000080
 #define WINED3DFMT_FLAG_FLOAT                       0x00000200




More information about the wine-cvs mailing list