wined3d: Recursively acquire queued command lists in wined3d_cs_acquire_command_list().

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2021-07-12 21:04:04 -05:00 committed by Alexandre Julliard
parent aee7d560ae
commit 84d6845412
2 changed files with 5 additions and 1 deletions

View file

@ -2403,6 +2403,9 @@ static void wined3d_cs_acquire_command_list(struct wined3d_device_context *conte
for (i = 0; i < list->resource_count; ++i)
wined3d_resource_acquire(list->resources[i]);
for (i = 0; i < list->command_list_count; ++i)
wined3d_cs_acquire_command_list(context, list->command_lists[i]);
}
static void wined3d_cs_exec_preload_resource(struct wined3d_cs *cs, const void *data)

View file

@ -4120,7 +4120,8 @@ static inline void wined3d_resource_acquire(struct wined3d_resource *resource)
static inline void wined3d_resource_release(struct wined3d_resource *resource)
{
InterlockedDecrement(&resource->access_count);
LONG refcount = InterlockedDecrement(&resource->access_count);
assert(refcount >= 0);
}
static inline HRESULT wined3d_resource_get_sub_resource_desc(struct wined3d_resource *resource,