[PATCH v6 09/10] wined3d: Move WINED3DFMT_FLAG_CAST_TO_BLOCK to the attributes group.

Chip Davis wine at gitlab.winehq.org
Tue May 24 12:07:01 CDT 2022


From: Chip Davis <cdavis5x at gmail.com>

Signed-off-by: Chip Davis <cdavis5x at gmail.com>
---
 dlls/wined3d/device.c          |  4 +--
 dlls/wined3d/utils.c           | 55 ++++++++++++----------------------
 dlls/wined3d/wined3d_private.h |  2 +-
 3 files changed, 22 insertions(+), 39 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 72c5167131a..33ae584f817 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4723,9 +4723,9 @@ static bool resources_format_compatible(const struct wined3d_resource *src_resou
     if (src_resource->device->cs->c.state->feature_level < WINED3D_FEATURE_LEVEL_10_1)
         return false;
     if ((src_resource->format_attrs & WINED3D_FORMAT_ATTR_BLOCKS)
-            && (dst_resource->format_flags & WINED3DFMT_FLAG_CAST_TO_BLOCK))
+            && (dst_resource->format_attrs & WINED3D_FORMAT_ATTR_CAST_TO_BLOCK))
         return src_resource->format->block_byte_count == dst_resource->format->byte_count;
-    if ((src_resource->format_flags & WINED3DFMT_FLAG_CAST_TO_BLOCK)
+    if ((src_resource->format_attrs & WINED3D_FORMAT_ATTR_CAST_TO_BLOCK)
             && (dst_resource->format_attrs & WINED3D_FORMAT_ATTR_BLOCKS))
         return src_resource->format->byte_count == dst_resource->format->block_byte_count;
     return false;
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 9308848ce97..5b62ae0f542 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -328,42 +328,25 @@ static const struct wined3d_format_base_flags format_base_flags[] =
     {WINED3DFMT_NVDB,                  WINED3D_FORMAT_ATTR_EXTENSION},
     {WINED3DFMT_ATOC,                  WINED3D_FORMAT_ATTR_EXTENSION},
     {WINED3DFMT_RESZ,                  WINED3D_FORMAT_ATTR_EXTENSION},
-    {WINED3DFMT_R32G32B32A32_TYPELESS, 0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R32G32B32A32_FLOAT,    0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R32G32B32A32_UINT,     0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R32G32B32A32_SINT,     0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R16G16B16A16_TYPELESS, 0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R16G16B16A16_FLOAT,    0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R16G16B16A16_UNORM,    0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R16G16B16A16_UINT,     0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R16G16B16A16_SNORM,    0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R16G16B16A16_SINT,     0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R32G32_TYPELESS,       0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R32G32_FLOAT,          0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R32G32_UINT,           0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R32G32_SINT,           0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R32_TYPELESS,          0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R32_FLOAT,             0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
-    {WINED3DFMT_R32_UINT,              0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK | WINED3DFMT_FLAG_INDEX_BUFFER},
-    {WINED3DFMT_R32_SINT,              0,
-        WINED3DFMT_FLAG_CAST_TO_BLOCK},
+    {WINED3DFMT_R32G32B32A32_TYPELESS, WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R32G32B32A32_FLOAT,    WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R32G32B32A32_UINT,     WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R32G32B32A32_SINT,     WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R16G16B16A16_TYPELESS, WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R16G16B16A16_FLOAT,    WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R16G16B16A16_UNORM,    WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R16G16B16A16_UINT,     WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R16G16B16A16_SNORM,    WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R16G16B16A16_SINT,     WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R32G32_TYPELESS,       WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R32G32_FLOAT,          WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R32G32_UINT,           WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R32G32_SINT,           WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R32_TYPELESS,          WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R32_FLOAT,             WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
+    {WINED3DFMT_R32_UINT,              WINED3D_FORMAT_ATTR_CAST_TO_BLOCK,
+        WINED3DFMT_FLAG_INDEX_BUFFER},
+    {WINED3DFMT_R32_SINT,              WINED3D_FORMAT_ATTR_CAST_TO_BLOCK},
     {WINED3DFMT_R16_UINT,              0,
         WINED3DFMT_FLAG_INDEX_BUFFER},
     {WINED3DFMT_A8_UNORM,              WINED3D_FORMAT_ATTR_NORMALISED},
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 6cd98794ea8..1c7eb9bf6f0 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -6117,6 +6117,7 @@ extern enum wined3d_format_id pixelformat_for_depth(DWORD depth) DECLSPEC_HIDDEN
 #define WINED3D_FORMAT_ATTR_BROKEN_PITCH            0x00000100
 #define WINED3D_FORMAT_ATTR_HEIGHT_SCALE            0x00000200
 #define WINED3D_FORMAT_ATTR_MAPPABLE                0x00000400
+#define WINED3D_FORMAT_ATTR_CAST_TO_BLOCK           0x00000800
 
 /* WineD3D pixel format flags */
 #define WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING    0x00000001
@@ -6135,7 +6136,6 @@ extern enum wined3d_format_id pixelformat_for_depth(DWORD depth) DECLSPEC_HIDDEN
 #define WINED3DFMT_FLAG_GEN_MIPMAP                  0x00400000
 #define WINED3DFMT_FLAG_VERTEX_ATTRIBUTE            0x01000000
 #define WINED3DFMT_FLAG_BLIT                        0x02000000
-#define WINED3DFMT_FLAG_CAST_TO_BLOCK               0x08000000
 #define WINED3DFMT_FLAG_INDEX_BUFFER                0x10000000
 
 struct wined3d_rational
-- 
GitLab


https://gitlab.winehq.org/wine/wine/-/merge_requests/79



More information about the wine-devel mailing list