d3d9: Don't grab wined3d lock for surface AddRef/Release().

Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jan Sikorski 2021-10-15 14:26:31 +02:00 committed by Alexandre Julliard
parent 64b7ba3d65
commit ce93526f48

View file

@ -67,11 +67,9 @@ static ULONG WINAPI d3d9_surface_AddRef(IDirect3DSurface9 *iface)
{
if (surface->parent_device)
IDirect3DDevice9Ex_AddRef(surface->parent_device);
wined3d_mutex_lock();
if (surface->wined3d_rtv)
wined3d_rendertarget_view_incref(surface->wined3d_rtv);
wined3d_texture_incref(surface->wined3d_texture);
wined3d_mutex_unlock();
}
return refcount;
@ -103,11 +101,9 @@ static ULONG WINAPI d3d9_surface_Release(IDirect3DSurface9 *iface)
{
IDirect3DDevice9Ex *parent_device = surface->parent_device;
wined3d_mutex_lock();
if (surface->wined3d_rtv)
wined3d_rendertarget_view_decref(surface->wined3d_rtv);
wined3d_texture_decref(surface->wined3d_texture);
wined3d_mutex_unlock();
/* Release the device last, as it may cause the device to be destroyed. */
if (parent_device)