Commit 51d58f99 authored by Józef Kucia's avatar Józef Kucia Committed by Alexandre Julliard

d3d11: Fix refcounting for shaders.

parent df5576f3
......@@ -635,6 +635,14 @@ static ULONG STDMETHODCALLTYPE d3d11_hull_shader_AddRef(ID3D11HullShader *iface)
TRACE("%p increasing refcount to %u.\n", shader, refcount);
if (refcount == 1)
{
ID3D11Device_AddRef(shader->device);
wined3d_mutex_lock();
wined3d_shader_incref(shader->wined3d_shader);
wined3d_mutex_unlock();
}
return refcount;
}
......@@ -831,6 +839,14 @@ static ULONG STDMETHODCALLTYPE d3d11_domain_shader_AddRef(ID3D11DomainShader *if
TRACE("%p increasing refcount to %u.\n", shader, refcount);
if (refcount == 1)
{
ID3D11Device_AddRef(shader->device);
wined3d_mutex_lock();
wined3d_shader_incref(shader->wined3d_shader);
wined3d_mutex_unlock();
}
return refcount;
}
......@@ -1037,6 +1053,14 @@ static ULONG STDMETHODCALLTYPE d3d11_geometry_shader_AddRef(ID3D11GeometryShader
TRACE("%p increasing refcount to %u.\n", shader, refcount);
if (refcount == 1)
{
ID3D11Device_AddRef(shader->device);
wined3d_mutex_lock();
wined3d_shader_incref(shader->wined3d_shader);
wined3d_mutex_unlock();
}
return refcount;
}
......@@ -1890,6 +1914,14 @@ static ULONG STDMETHODCALLTYPE d3d11_compute_shader_AddRef(ID3D11ComputeShader *
TRACE("%p increasing refcount to %u.\n", shader, refcount);
if (refcount == 1)
{
ID3D11Device_AddRef(shader->device);
wined3d_mutex_lock();
wined3d_shader_incref(shader->wined3d_shader);
wined3d_mutex_unlock();
}
return refcount;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment