30 Nov
2023
30 Nov
'23
3:22 p.m.
Jan Sikorski (@jsikorski) commented about dlls/wined3d/view.c:
+} + ULONG CDECL wined3d_shader_resource_view_decref(struct wined3d_shader_resource_view *view) { - unsigned int refcount = InterlockedDecrement(&view->refcount); + unsigned int refcount; + + if (view->desc.flags & WINED3D_VIEW_FORWARD_REFERENCE) + return wined3d_resource_decref(view->resource);
+ refcount = InterlockedDecrement(&view->refcount); TRACE("%p decreasing refcount to %u.\n", view, refcount);
if (!refcount) { + bool release = !(view->desc.flags & WINED3D_VIEW_FORWARD_REFERENCE); This is always true? With the other case caught by the conditional above?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/4436#note_54399