From: Nikolay Sivov nsivov@codeweavers.com
--- dlls/d3d11/device.c | 2 ++ dlls/d3d11/tests/d3d11.c | 7 +++++++ 2 files changed, 9 insertions(+)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index b73df94b50c..3f08ae5f4f0 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -3615,6 +3615,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateComputeShader(ID3D11Device2 TRACE("iface %p, byte_code %p, byte_code_length %Iu, class_linkage %p, shader %p.\n", iface, byte_code, byte_code_length, class_linkage, shader);
+ *shader = NULL; + if (class_linkage) FIXME("Class linkage is not implemented yet.\n");
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c index 06cb2bc4273..9a1bd88dc8b 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c @@ -4823,6 +4823,7 @@ static void test_create_shader(const D3D_FEATURE_LEVEL feature_level) struct device_desc device_desc; ID3D11Device *device, *tmp; ID3D11GeometryShader *gs; + ID3D11ComputeShader *cs; ID3D11VertexShader *vs; ID3D11DomainShader *ds; ID3D11PixelShader *ps; @@ -5014,6 +5015,12 @@ static void test_create_shader(const D3D_FEATURE_LEVEL feature_level) ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr); ok(!ds, "Unexpected pointer %p.\n", ds);
+ /* Compute shader */ + ds = (void *)0xdeadbeef; + hr = ID3D11Device_CreateComputeShader(device, gs_4_0, sizeof(gs_4_0), NULL, &cs); + ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr); + ok(!cs, "Unexpected pointer %p.\n", cs); + refcount = ID3D11Device_Release(device); ok(!refcount, "Device has %lu references left.\n", refcount); }