mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
tests: Check that shader-visible descriptor heaps have a valid GPU descriptor handle start.
We currently check that non-shader-visible heaps have a NULL handle, but that doesn't seem to be guaranteed: beside WARP, also NVIDIA drivers still return a valid pointer. And that's a pretty useless check anyway; rather, check that shader-visible heaps have a valid pointer, which is more interesting.
This commit is contained in:
committed by
Henri Verbeet
parent
1aa33ebc80
commit
129b3a8c4b
Notes:
Henri Verbeet
2025-05-15 14:17:53 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1503
@@ -2567,9 +2567,6 @@ static void test_create_descriptor_heap(void)
|
||||
hr = ID3D12Device_CreateDescriptorHeap(device, &heap_desc, &IID_ID3D12DescriptorHeap, (void **)&heap);
|
||||
ok(hr == S_OK, "Failed to create descriptor heap, hr %#x.\n", hr);
|
||||
|
||||
gpu_handle = ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(heap);
|
||||
ok(!gpu_handle.ptr || broken(test_options.use_warp_device), "Got unexpected ptr %"PRIx64".\n", gpu_handle.ptr);
|
||||
|
||||
refcount = get_refcount(device);
|
||||
ok(refcount == 2, "Got unexpected refcount %u.\n", (unsigned int)refcount);
|
||||
hr = ID3D12DescriptorHeap_GetDevice(heap, &IID_ID3D12Device, (void **)&tmp_device);
|
||||
@@ -2591,6 +2588,8 @@ static void test_create_descriptor_heap(void)
|
||||
heap_desc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE;
|
||||
hr = ID3D12Device_CreateDescriptorHeap(device, &heap_desc, &IID_ID3D12DescriptorHeap, (void **)&heap);
|
||||
ok(hr == S_OK, "Failed to create descriptor heap, hr %#x.\n", hr);
|
||||
gpu_handle = ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(heap);
|
||||
ok(gpu_handle.ptr, "Got NULL descriptor handle.\n");
|
||||
refcount = ID3D12DescriptorHeap_Release(heap);
|
||||
ok(!refcount, "ID3D12DescriptorHeap has %u references left.\n", (unsigned int)refcount);
|
||||
|
||||
@@ -2598,6 +2597,8 @@ static void test_create_descriptor_heap(void)
|
||||
heap_desc.Flags = D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE;
|
||||
hr = ID3D12Device_CreateDescriptorHeap(device, &heap_desc, &IID_ID3D12DescriptorHeap, (void **)&heap);
|
||||
ok(hr == S_OK, "Failed to create descriptor heap, hr %#x.\n", hr);
|
||||
gpu_handle = ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(heap);
|
||||
ok(gpu_handle.ptr, "Got NULL descriptor handle.\n");
|
||||
refcount = ID3D12DescriptorHeap_Release(heap);
|
||||
ok(!refcount, "ID3D12DescriptorHeap has %u references left.\n", (unsigned int)refcount);
|
||||
|
||||
|
Reference in New Issue
Block a user