[PATCH vkd3d 6/7] vkd3d: Add tests for external resource heap properties.

Henri Verbeet hverbeet at codeweavers.com
Mon Nov 25 08:05:41 CST 2019


From: Conor McCarthy <cmccarthy at codeweavers.com>

Signed-off-by: Conor McCarthy <cmccarthy at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
This supersedes patch 174172.

 tests/vkd3d_api.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/tests/vkd3d_api.c b/tests/vkd3d_api.c
index a9a7fc1..135782d 100644
--- a/tests/vkd3d_api.c
+++ b/tests/vkd3d_api.c
@@ -854,7 +854,9 @@ static VkDeviceMemory allocate_vulkan_image_memory(ID3D12Device *device,
 static void test_external_resource_map(void)
 {
     struct vkd3d_image_resource_create_info resource_create_info;
+    D3D12_HEAP_PROPERTIES heap_properties;
     D3D12_GPU_VIRTUAL_ADDRESS gpu_address;
+    D3D12_HEAP_FLAGS heap_flags;
     ID3D12Resource *vk_resource;
     VkDeviceMemory vk_memory;
     ID3D12Device *device;
@@ -898,6 +900,16 @@ static void test_external_resource_map(void)
     gpu_address = ID3D12Resource_GetGPUVirtualAddress(vk_resource);
     ok(!gpu_address, "Got unexpected GPU virtual address %#"PRIx64".\n", gpu_address);
 
+    hr = ID3D12Resource_GetHeapProperties(vk_resource, &heap_properties, &heap_flags);
+    ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+    ok(heap_properties.Type == D3D12_HEAP_TYPE_DEFAULT, "Got unexpected heap type %#x.\n", heap_properties.Type);
+    ok(heap_properties.CPUPageProperty == D3D12_CPU_PAGE_PROPERTY_UNKNOWN,
+            "Got unexpected CPU page property %#x.\n", heap_properties.CPUPageProperty);
+    ok(heap_properties.MemoryPoolPreference == D3D12_MEMORY_POOL_UNKNOWN,
+            "Got unexpected memory pool preference %#x.\n", heap_properties.MemoryPoolPreference);
+    todo ok(!!heap_properties.CreationNodeMask, "Got unexpected node mask %#x.\n", heap_properties.CreationNodeMask);
+    todo ok(!!heap_properties.VisibleNodeMask, "Got unexpected node mask %#x.\n", heap_properties.VisibleNodeMask);
+
     ID3D12Resource_Release(vk_resource);
     vk_device = vkd3d_get_vk_device(device);
     vkDestroyImage(vk_device, vk_image, NULL);
-- 
2.11.0




More information about the wine-devel mailing list