From: Guillaume Charifi Subject: [PATCH 2/6] d3d11: Implement CSSetShaderResources() for immediate contexts. Message-Id: <20170129134354.28597-19-guillaume.charifi@sfr.fr> Date: Sun, 29 Jan 2017 14:43:50 +0100 In-Reply-To: <20170129134354.28597-1-guillaume.charifi@sfr.fr> References: <20170129134354.28597-1-guillaume.charifi@sfr.fr> Signed-off-by: Guillaume Charifi --- dlls/d3d11/device.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index cf1bdfe..119fe80 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -1191,8 +1191,20 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_DSSetConstantBuffers(ID3D1 static void STDMETHODCALLTYPE d3d11_immediate_context_CSSetShaderResources(ID3D11DeviceContext *iface, UINT start_slot, UINT view_count, ID3D11ShaderResourceView *const *views) { - FIXME("iface %p, start_slot %u, view_count %u, views %p stub!\n", - iface, start_slot, view_count, views); + struct d3d_device *device = device_from_immediate_ID3D11DeviceContext(iface); + unsigned int i; + + TRACE("iface %p, start_slot %u, view_count %u, views %p.\n", iface, start_slot, view_count, views); + + wined3d_mutex_lock(); + for (i = 0; i < view_count; ++i) + { + struct d3d_shader_resource_view *view = unsafe_impl_from_ID3D11ShaderResourceView(views[i]); + + wined3d_device_set_cs_resource_view(device->wined3d_device, start_slot + i, + view ? view->wined3d_view : NULL); + } + wined3d_mutex_unlock(); } static void STDMETHODCALLTYPE d3d11_immediate_context_CSSetUnorderedAccessViews(ID3D11DeviceContext *iface, -- Guillaume Charifi