Giovanni Mascellani (@giomasce) commented about tests/d3d12.c:
+ hr = ID3D12Device9_CreateShaderCacheSession(device, NULL, &IID_IUnknown, NULL); + ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + hr = ID3D12Device9_CreateShaderCacheSession(device, &desc, &IID_IUnknown, (void **)&unk); + ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + hr = ID3D12Device9_CreateShaderCacheSession(device, &desc, &IID_IUnknown, NULL); + ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + hr = ID3D12Device9_CreateShaderCacheSession(device, &desc, NULL, (void **)&unk); + ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + + desc.Identifier = test_guid; + desc.Mode = D3D12_SHADER_CACHE_MODE_MEMORY; + if (0) /* This crashes on Windows. */ + { + hr = ID3D12Device9_CreateShaderCacheSession(device, &desc, NULL, (void **)&unk); + ok(0, "Expected to crash, hr %#x.\n", hr); + } I'm not sure this is useful to have. If you want to retain the information that the IID is not checked, then I'd rather put a comment instead of dead code.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/741#note_66391