tests: Add tests for NULL event handles in SetEventOnCompletion().

Testing this before NULL event handling is patched results in a crash.
Based on a vkd3d-proton patch by Hans-Kristian Arntzen.

Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Conor McCarthy
2022-01-18 15:54:12 +10:00
committed by Alexandre Julliard
parent c965b7b213
commit 8727b9a435
2 changed files with 37 additions and 2 deletions

View File

@@ -4418,11 +4418,14 @@ static void test_fence_values(void)
value = ID3D12Fence_GetCompletedValue(fence);
ok(value == next_value, "Got value %#"PRIx64", expected %#"PRIx64".\n", value, next_value);
for (i = 0; i < 100; ++i)
for (i = 0; i < 200; ++i)
{
++next_value;
queue_signal(queue, fence, next_value);
wait_queue_idle(device, queue);
if ((i * 11) & 8)
wait_queue_idle_no_event(device, queue);
else
wait_queue_idle(device, queue);
value = ID3D12Fence_GetCompletedValue(fence);
ok(value == next_value, "Got value %#"PRIx64", expected %#"PRIx64".\n", value, next_value);
}
@@ -4459,6 +4462,11 @@ static void test_fence_values(void)
wait_queue_idle(device, queue);
value = ID3D12Fence_GetCompletedValue(fence);
ok(value == next_value, "Got value %#"PRIx64", expected %#"PRIx64".\n", value, next_value);
next_value <<= 1;
queue_signal(queue, fence, next_value);
wait_queue_idle_no_event(device, queue);
value = ID3D12Fence_GetCompletedValue(fence);
ok(value == next_value, "Got value %#"PRIx64", expected %#"PRIx64".\n", value, next_value);
next_value = 0;
queue_signal(queue, fence, next_value);
wait_queue_idle(device, queue);