Conor McCarthy : vkd3d: Add tests for external resource heap properties.

Alexandre Julliard julliard at winehq.org
Mon Nov 25 09:20:52 CST 2019


Module: vkd3d
Branch: master
Commit: 5366d405e9c3da30baef92f235721c872c856aa1
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=5366d405e9c3da30baef92f235721c872c856aa1

Author: Conor McCarthy <cmccarthy at codeweavers.com>
Date:   Mon Nov 25 17:53:41 2019 +0330

vkd3d: Add tests for external resource heap properties.

Signed-off-by: Conor McCarthy <cmccarthy at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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);




More information about the wine-cvs mailing list