[PATCH v2 1/5] wined3d: Don't consider texture rectangles for buffers.

Matteo Bruni mbruni at codeweavers.com
Wed Aug 11 12:18:53 CDT 2021


Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
---
v2: Flip around the WINED3D_RTYPE_BUFFER check.

 dlls/wined3d/resource.c | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c
index f37c313e023..6215da8ce0f 100644
--- a/dlls/wined3d/resource.c
+++ b/dlls/wined3d/resource.c
@@ -121,26 +121,26 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *
         if (base_type == WINED3D_GL_RES_TYPE_COUNT)
             base_type = gl_type;
 
-        if (type != WINED3D_RTYPE_BUFFER)
+        if (type == WINED3D_RTYPE_BUFFER)
+            break;
+
+        if ((bind_flags & WINED3D_BIND_RENDER_TARGET)
+                && !(format->flags[gl_type] & WINED3DFMT_FLAG_RENDERTARGET))
         {
-            if ((bind_flags & WINED3D_BIND_RENDER_TARGET)
-                    && !(format->flags[gl_type] & WINED3DFMT_FLAG_RENDERTARGET))
-            {
-                WARN("Format %s cannot be used for render targets.\n", debug_d3dformat(format->id));
-                continue;
-            }
-            if ((bind_flags & WINED3D_BIND_DEPTH_STENCIL)
-                    && !(format->flags[gl_type] & WINED3DFMT_FLAG_DEPTH_STENCIL))
-            {
-                WARN("Format %s cannot be used for depth/stencil buffers.\n", debug_d3dformat(format->id));
-                continue;
-            }
-            if ((bind_flags & WINED3D_BIND_SHADER_RESOURCE)
-                    && !(format->flags[gl_type] & WINED3DFMT_FLAG_TEXTURE))
-            {
-                WARN("Format %s cannot be used for texturing.\n", debug_d3dformat(format->id));
-                continue;
-            }
+            WARN("Format %s cannot be used for render targets.\n", debug_d3dformat(format->id));
+            continue;
+        }
+        if ((bind_flags & WINED3D_BIND_DEPTH_STENCIL)
+                && !(format->flags[gl_type] & WINED3DFMT_FLAG_DEPTH_STENCIL))
+        {
+            WARN("Format %s cannot be used for depth/stencil buffers.\n", debug_d3dformat(format->id));
+            continue;
+        }
+        if ((bind_flags & WINED3D_BIND_SHADER_RESOURCE)
+                && !(format->flags[gl_type] & WINED3DFMT_FLAG_TEXTURE))
+        {
+            WARN("Format %s cannot be used for texturing.\n", debug_d3dformat(format->id));
+            continue;
         }
         if (((width & (width - 1)) || (height & (height - 1)))
                 && !d3d_info->texture_npot
-- 
2.26.3




More information about the wine-devel mailing list