d3d11: Always initialize out shader pointer in CreateHullShader().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
Nikolay Sivov 2022-05-27 15:02:24 +03:00 committed by Alexandre Julliard
parent 3dd9a78a1a
commit 1a869de187
2 changed files with 9 additions and 0 deletions

View file

@ -3569,6 +3569,8 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CreateHullShader(ID3D11Device2 *if
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");

View file

@ -4825,6 +4825,7 @@ static void test_create_shader(const D3D_FEATURE_LEVEL feature_level)
ID3D11GeometryShader *gs;
ID3D11VertexShader *vs;
ID3D11PixelShader *ps;
ID3D11HullShader *hs;
HRESULT hr;
device_desc.feature_level = &feature_level;
@ -5000,6 +5001,12 @@ static void test_create_shader(const D3D_FEATURE_LEVEL feature_level)
ID3D11GeometryShader_Release(gs);
}
/* Hull shader */
hs = (void *)0xdeadbeef;
hr = ID3D11Device_CreateHullShader(device, gs_4_0, sizeof(gs_4_0), NULL, &hs);
ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr);
ok(!hs, "Unexpected pointer %p.\n", hs);
refcount = ID3D11Device_Release(device);
ok(!refcount, "Device has %lu references left.\n", refcount);
}