[PATCH 2/4] wined3d: Only check rtv and dsv bindings in device_resource_released() when D3D is initialised.

Henri Verbeet hverbeet at codeweavers.com
Tue Jan 3 17:04:48 CST 2017


This fixes a regression introduced by commit
4a9304305ae2940288e9382926a6931dd46982d5.

Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
 dlls/wined3d/device.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 785ea6b..3a24e29 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4958,14 +4958,17 @@ void device_resource_released(struct wined3d_device *device, struct wined3d_reso
 
     TRACE("device %p, resource %p, type %s.\n", device, resource, debug_d3dresourcetype(type));
 
-    for (i = 0; i < device->adapter->gl_info.limits.buffers; ++i)
+    if (device->d3d_initialized)
     {
-        if ((rtv = device->fb.render_targets[i]) && rtv->resource == resource)
-            ERR("Resource %p is still in use as render target %u.\n", resource, i);
-    }
+        for (i = 0; i < device->adapter->gl_info.limits.buffers; ++i)
+        {
+            if ((rtv = device->fb.render_targets[i]) && rtv->resource == resource)
+                ERR("Resource %p is still in use as render target %u.\n", resource, i);
+        }
 
-    if ((rtv = device->fb.depth_stencil) && rtv->resource == resource)
-        ERR("Resource %p is still in use as depth/stencil buffer.\n", resource);
+        if ((rtv = device->fb.depth_stencil) && rtv->resource == resource)
+            ERR("Resource %p is still in use as depth/stencil buffer.\n", resource);
+    }
 
     switch (type)
     {
-- 
2.1.4




More information about the wine-patches mailing list