mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d: Validate the fence count in d3d12_device_SetEventOnMultipleFenceCompletion().
This commit is contained in:
Notes:
Henri Verbeet
2025-05-06 19:05:21 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1476
@@ -4908,6 +4908,9 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_SetEventOnMultipleFenceCompletion(
|
|||||||
FIXME("iface %p, fences %p, values %p, fence_count %u, flags %#x, event %p stub!\n",
|
FIXME("iface %p, fences %p, values %p, fence_count %u, flags %#x, event %p stub!\n",
|
||||||
iface, fences, values, fence_count, flags, event);
|
iface, fences, values, fence_count, flags, event);
|
||||||
|
|
||||||
|
if (!fence_count)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -38969,12 +38969,12 @@ static void test_multi_fence_event(void)
|
|||||||
/* 0 fence count. */
|
/* 0 fence count. */
|
||||||
|
|
||||||
hr = ID3D12Device1_SetEventOnMultipleFenceCompletion(device1, NULL, NULL, 0, 0, NULL);
|
hr = ID3D12Device1_SetEventOnMultipleFenceCompletion(device1, NULL, NULL, 0, 0, NULL);
|
||||||
todo ok(hr == E_INVALIDARG, "Got hr %#x.\n", hr);
|
ok(hr == E_INVALIDARG, "Got hr %#x.\n", hr);
|
||||||
hr = ID3D12Device1_SetEventOnMultipleFenceCompletion(device1,
|
hr = ID3D12Device1_SetEventOnMultipleFenceCompletion(device1,
|
||||||
NULL, NULL, 0, D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY, NULL);
|
NULL, NULL, 0, D3D12_MULTIPLE_FENCE_WAIT_FLAG_ANY, NULL);
|
||||||
todo ok(hr == E_INVALIDARG, "Got hr %#x.\n", hr);
|
ok(hr == E_INVALIDARG, "Got hr %#x.\n", hr);
|
||||||
hr = ID3D12Device1_SetEventOnMultipleFenceCompletion(device1, fences, fence_values, 0, 0, event);
|
hr = ID3D12Device1_SetEventOnMultipleFenceCompletion(device1, fences, fence_values, 0, 0, event);
|
||||||
todo ok(hr == E_INVALIDARG, "Got hr %#x.\n", hr);
|
ok(hr == E_INVALIDARG, "Got hr %#x.\n", hr);
|
||||||
ret = wait_event(event, 0);
|
ret = wait_event(event, 0);
|
||||||
ok(ret == WAIT_TIMEOUT, "Got ret %#x.\n", ret);
|
ok(ret == WAIT_TIMEOUT, "Got ret %#x.\n", ret);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user