vkd3d: Return success from d3d12_device_EnumerateMetaCommands().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
Nikolay Sivov
2025-07-25 21:46:07 +02:00
committed by Henri Verbeet
parent 2c49f04411
commit a4f5225229
Notes: Henri Verbeet 2025-07-28 16:39:06 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1652
2 changed files with 40 additions and 1 deletions

View File

@@ -5193,7 +5193,12 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_EnumerateMetaCommands(ID3D12Device
FIXME("iface %p, num_meta_commands %p, command_desc %p stub!\n", iface,
num_meta_commands, command_desc);
return E_NOTIMPL;
if (!num_meta_commands)
return E_INVALIDARG;
*num_meta_commands = 0;
return S_OK;
}
static HRESULT STDMETHODCALLTYPE d3d12_device_EnumerateMetaCommandParameters(ID3D12Device9 *iface,

View File

@@ -39235,6 +39235,39 @@ static void test_multi_fence_event(void)
ok(!refcount, "ID3D12Device has %u references left.\n", refcount);
}
static void test_enumerate_meta_commands(void)
{
ID3D12Device5 *device5;
unsigned int refcount;
ID3D12Device *device;
UINT count;
HRESULT hr;
if (!(device = create_device()))
{
skip("Failed to create device.\n");
return;
}
if (FAILED(ID3D12Device_QueryInterface(device, &IID_ID3D12Device5, (void **)&device5)))
{
skip("ID3D12Device5 not available; skipping tests.\n");
ID3D12Device_Release(device);
return;
}
hr = ID3D12Device5_EnumerateMetaCommands(device5, NULL, NULL);
ok(hr == E_INVALIDARG, "Got hr %#x.\n", hr);
count = 0;
hr = ID3D12Device5_EnumerateMetaCommands(device5, &count, NULL);
ok(hr == S_OK, "Got hr %#x.\n", hr);
ID3D12Device5_Release(device5);
refcount = ID3D12Device_Release(device);
ok(!refcount, "ID3D12Device has %u references left.\n", refcount);
}
START_TEST(d3d12)
{
parse_args(argc, argv);
@@ -39421,4 +39454,5 @@ START_TEST(d3d12)
run_test(test_unused_interpolated_input);
run_test(test_shader_cache);
run_test(test_multi_fence_event);
run_test(test_enumerate_meta_commands);
}