diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index 87bdd594d81..b0041c85881 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -3779,7 +3779,17 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFeatureSupport(ID3D11Device2 return E_INVALIDARG; } - options->ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x = FALSE; + wined3d_mutex_lock(); + hr = wined3d_device_get_device_caps(device->wined3d_device, &wined3d_caps); + wined3d_mutex_unlock(); + if (FAILED(hr)) + { + WARN("Failed to get device caps, hr %#x.\n", hr); + return hr; + } + + options->ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x + = wined3d_caps.max_feature_level >= WINED3D_FEATURE_LEVEL_11; return S_OK; }