[PATCH vkd3d 4/8] tests: Add more tests for mapping resources.
Józef Kucia
joseph.kucia at gmail.com
Mon Nov 12 17:23:29 CST 2018
From: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
tests/d3d12.c | 36 ++++++++++++++++++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)
diff --git a/tests/d3d12.c b/tests/d3d12.c
index 1ddf7c2d4a48..e98dbfae18af 100644
--- a/tests/d3d12.c
+++ b/tests/d3d12.c
@@ -5364,11 +5364,13 @@ static void test_map_resource(void)
hr = ID3D12Device_CreateCommittedResource(device, &heap_properties, D3D12_HEAP_FLAG_NONE,
&resource_desc, D3D12_RESOURCE_STATE_COMMON, NULL,
&IID_ID3D12Resource, (void **)&resource);
- ok(SUCCEEDED(hr), "Failed to create texture, hr %#x.\n", hr);
+ ok(hr == S_OK, "Failed to create texture, hr %#x.\n", hr);
/* Resources on a DEFAULT heap cannot be mapped. */
+ data = (void *)0xdeadbeef;
hr = ID3D12Resource_Map(resource, 0, NULL, &data);
ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(data == (void *)0xdeadbeef, "Pointer was modified %p.\n", data);
ID3D12Resource_Release(resource);
@@ -5385,8 +5387,10 @@ static void test_map_resource(void)
else
{
/* The data pointer must be NULL for the UNKNOWN layout. */
+ data = (void *)0xdeadbeef;
hr = ID3D12Resource_Map(resource, 0, NULL, &data);
ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(data == (void *)0xdeadbeef, "Pointer was modified %p.\n", data);
ID3D12Resource_Release(resource);
}
@@ -5401,11 +5405,39 @@ static void test_map_resource(void)
hr = ID3D12Device_CreateCommittedResource(device, &heap_properties, D3D12_HEAP_FLAG_NONE,
&resource_desc, D3D12_RESOURCE_STATE_COMMON, NULL,
&IID_ID3D12Resource, (void **)&resource);
- ok(SUCCEEDED(hr), "Failed to create committed resource, hr %#x.\n", hr);
+ ok(hr == S_OK, "Failed to create committed resource, hr %#x.\n", hr);
/* Resources on a DEFAULT heap cannot be mapped. */
+ data = (void *)0xdeadbeef;
+ hr = ID3D12Resource_Map(resource, 0, NULL, &data);
+ ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(data == (void *)0xdeadbeef, "Pointer was modified %p.\n", data);
+
+ ID3D12Resource_Release(resource);
+
+ heap_properties.Type = D3D12_HEAP_TYPE_UPLOAD;
+ hr = ID3D12Device_CreateCommittedResource(device, &heap_properties, D3D12_HEAP_FLAG_NONE,
+ &resource_desc, D3D12_RESOURCE_STATE_GENERIC_READ, NULL,
+ &IID_ID3D12Resource, (void **)&resource);
+ ok(hr == S_OK, "Failed to create committed resource, hr %#x.\n", hr);
+
+ data = NULL;
hr = ID3D12Resource_Map(resource, 0, NULL, &data);
+ ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(data, "Got NULL pointer.\n");
+ ID3D12Resource_Unmap(resource, 0, NULL);
+
+ data = (void *)0xdeadbeef;
+ hr = ID3D12Resource_Map(resource, 1, NULL, &data);
ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+ ok(data == (void *)0xdeadbeef, "Pointer was modified %p.\n", data);
+
+ data = NULL;
+ hr = ID3D12Resource_Map(resource, 0, NULL, &data);
+ ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+ ok(data, "Got NULL pointer.\n");
+ ID3D12Resource_Unmap(resource, 1, NULL);
+ ID3D12Resource_Unmap(resource, 0, NULL);
ID3D12Resource_Release(resource);
--
2.18.1
More information about the wine-devel
mailing list