From: Guillaume Charifi Subject: [PATCH 4/6] d3d11: Implement CSSetSamplers() for immediate contexts. Message-Id: <20170129134354.28597-21-guillaume.charifi@sfr.fr> Date: Sun, 29 Jan 2017 14:43:52 +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 | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index 119fe80..3499079 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -1234,8 +1234,21 @@ static void STDMETHODCALLTYPE d3d11_immediate_context_CSSetShader(ID3D11DeviceCo static void STDMETHODCALLTYPE d3d11_immediate_context_CSSetSamplers(ID3D11DeviceContext *iface, UINT start_slot, UINT sampler_count, ID3D11SamplerState *const *samplers) { - FIXME("iface %p, start_slot %u, sampler_count %u, samplers %p stub!\n", + struct d3d_device *device = device_from_immediate_ID3D11DeviceContext(iface); + unsigned int i; + + TRACE("iface %p, start_slot %u, sampler_count %u, samplers %p.\n", iface, start_slot, sampler_count, samplers); + + wined3d_mutex_lock(); + for (i = 0; i < sampler_count; ++i) + { + struct d3d_sampler_state *sampler = unsafe_impl_from_ID3D11SamplerState(samplers[i]); + + wined3d_device_set_cs_sampler(device->wined3d_device, start_slot + i, + sampler ? sampler->wined3d_sampler : NULL); + } + wined3d_mutex_unlock(); } static void STDMETHODCALLTYPE d3d11_immediate_context_CSSetConstantBuffers(ID3D11DeviceContext *iface, -- Guillaume Charifi