[PATCH vkd3d v2 2/2] vkd3d: Add tests for external resource heap properties.

Conor McCarthy cmccarthy at codeweavers.com
Wed Nov 20 09:12:16 CST 2019


Signed-off-by: Conor McCarthy <cmccarthy at codeweavers.com>
---
 tests/vkd3d_api.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tests/vkd3d_api.c b/tests/vkd3d_api.c
index a9a7fc1..ba13d66 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,14 @@ 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, "Failed to get heap properties, hr %#x.\n", hr);
+    ok(heap_properties.Type == D3D12_HEAP_TYPE_DEFAULT, "Got unexpected heap type 0x%x.\n", heap_properties.Type);
+    ok(heap_properties.CPUPageProperty == 0, "Got unexpected cpu page property 0x%x.\n", heap_properties.CPUPageProperty);
+    ok(heap_properties.MemoryPoolPreference == 0, "Got unexpected memory pool preference 0x%x.\n", heap_properties.MemoryPoolPreference);
+    ok(heap_properties.CreationNodeMask != 0, "Got unexpected node mask 0x%x.\n", heap_properties.CreationNodeMask);
+    ok(heap_properties.VisibleNodeMask != 0, "Got unexpected node mask 0x%x.\n", heap_properties.VisibleNodeMask);
+
     ID3D12Resource_Release(vk_resource);
     vk_device = vkd3d_get_vk_device(device);
     vkDestroyImage(vk_device, vk_image, NULL);
-- 
2.24.0




More information about the wine-devel mailing list