Henri Verbeet : wined3d: Reject managed/ scratch textures with dynamic usage in texture_init().

Alexandre Julliard julliard at winehq.org
Thu Mar 15 19:12:13 CDT 2018


Module: wine
Branch: master
Commit: 4d4fc7ae347da73ff69f8adc357886a6ad893050
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=4d4fc7ae347da73ff69f8adc357886a6ad893050

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu Mar 15 11:56:41 2018 +0330

wined3d: Reject managed/scratch textures with dynamic usage in texture_init().

For consistency with volumetexture_init().

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

---

 dlls/wined3d/texture.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c
index e5a83ce..e1f02a5 100644
--- a/dlls/wined3d/texture.c
+++ b/dlls/wined3d/texture.c
@@ -2198,8 +2198,14 @@ static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3
         return WINED3DERR_INVALIDCALL;
     }
 
-    if (desc->usage & WINED3DUSAGE_DYNAMIC && wined3d_resource_access_is_managed(desc->access))
-        FIXME("Trying to create a managed texture with dynamic usage.\n");
+    if (desc->usage & WINED3DUSAGE_DYNAMIC && (wined3d_resource_access_is_managed(desc->access)
+            || desc->usage & WINED3DUSAGE_SCRATCH))
+    {
+        WARN("Attempted to create a dynamic texture with access %s and usage %s.\n",
+                wined3d_debug_resource_access(desc->access), debug_d3dusage(desc->usage));
+        return WINED3DERR_INVALIDCALL;
+    }
+
     if (!(desc->usage & (WINED3DUSAGE_DYNAMIC | WINED3DUSAGE_RENDERTARGET | WINED3DUSAGE_DEPTHSTENCIL))
             && (flags & WINED3D_TEXTURE_CREATE_MAPPABLE))
         WARN("Creating a mappable texture that doesn't specify dynamic usage.\n");




More information about the wine-cvs mailing list