[PATCH v3 2/6] wined3d: Add flag to indicate FETCH4 support in textures

Daniel Ansorregui mailszeros at gmail.com
Sat Nov 24 14:13:33 CST 2018


Signed-off-by: Daniel Ansorregui <mailszeros at gmail.com>
---
 dlls/wined3d/utils.c           | 12 ++++++++++++
 dlls/wined3d/wined3d_private.h |  1 +
 2 files changed, 13 insertions(+)

diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index aa68799535..0a401e8f18 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -340,6 +340,18 @@ static const struct wined3d_format_base_flags format_base_flags[] =
     {WINED3DFMT_NULL,                 WINED3DFMT_FLAG_EXTENSION},
     {WINED3DFMT_NVDB,                 WINED3DFMT_FLAG_EXTENSION},
     {WINED3DFMT_RESZ,                 WINED3DFMT_FLAG_EXTENSION},
+    {WINED3DFMT_L8_UNORM,             WINED3DFMT_FLAG_ALLOW_FETCH4},
+    {WINED3DFMT_L16_UNORM,            WINED3DFMT_FLAG_ALLOW_FETCH4},
+    {WINED3DFMT_R16,                  WINED3DFMT_FLAG_ALLOW_FETCH4},
+    {WINED3DFMT_R32_FLOAT,            WINED3DFMT_FLAG_ALLOW_FETCH4},
+
+    /* The formats below are not tested to be FETCH4 compatible on windows but
+     * the spec "hints" that depth formats are not recomended (but allowed) */
+    {WINED3DFMT_D16_LOCKABLE,         WINED3DFMT_FLAG_ALLOW_FETCH4},
+    {WINED3DFMT_D16_UNORM,            WINED3DFMT_FLAG_ALLOW_FETCH4},
+    {WINED3DFMT_D32_UNORM,            WINED3DFMT_FLAG_ALLOW_FETCH4},
+    {WINED3DFMT_D32_FLOAT,            WINED3DFMT_FLAG_ALLOW_FETCH4},
+    {WINED3DFMT_D24_UNORM_S8_UINT,    WINED3DFMT_FLAG_ALLOW_FETCH4},
 };
 
 static void rgb888_from_rgb565(WORD rgb565, BYTE *r, BYTE *g, BYTE *b)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index f908ff7173..af34f0ce44 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -4403,6 +4403,7 @@ extern enum wined3d_format_id pixelformat_for_depth(DWORD depth) DECLSPEC_HIDDEN
 #define WINED3DFMT_FLAG_VERTEX_ATTRIBUTE            0x01000000
 #define WINED3DFMT_FLAG_BLIT                        0x02000000
 #define WINED3DFMT_FLAG_MAPPABLE                    0x04000000
+#define WINED3DFMT_FLAG_ALLOW_FETCH4                0x08000000
 
 struct wined3d_rational
 {
-- 
2.17.1




More information about the wine-devel mailing list