[PATCH 2/2] vkd3d/tests: Enable ReadFromSubresource() read-back test and remove todo.

Conor McCarthy cmccarthy at codeweavers.com
Wed Jul 31 06:23:50 CDT 2019


Signed-off-by: Conor McCarthy <cmccarthy at codeweavers.com>
---
 tests/d3d12.c | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/tests/d3d12.c b/tests/d3d12.c
index 6cee005..7308525 100644
--- a/tests/d3d12.c
+++ b/tests/d3d12.c
@@ -30119,7 +30119,7 @@ static void test_read_write_subresource(void)
     todo ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
 
     hr = ID3D12Resource_ReadFromSubresource(rb_buffer, dst_buffer, row_pitch, slice_pitch, 0, &box);
-    todo ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
+    ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
 
     ID3D12Resource_Release(rb_buffer);
 
@@ -30133,7 +30133,7 @@ static void test_read_write_subresource(void)
     resource_desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
     resource_desc.SampleDesc.Count = 1;
     resource_desc.SampleDesc.Quality = 0;
-    resource_desc.Layout = D3D12_TEXTURE_LAYOUT_UNKNOWN;
+    resource_desc.Layout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR;
     resource_desc.Flags = 0;
 
     memset(&heap_properties, 0, sizeof(heap_properties));
@@ -30153,7 +30153,7 @@ static void test_read_write_subresource(void)
     todo ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
 
     hr = ID3D12Resource_ReadFromSubresource(src_texture, dst_buffer, row_pitch, slice_pitch, 0, NULL);
-    todo ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
 
     /* Empty box */
     set_box(&box, 0, 0, 0, 0, 0, 0);
@@ -30161,7 +30161,7 @@ static void test_read_write_subresource(void)
     todo ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
 
     hr = ID3D12Resource_ReadFromSubresource(src_texture, dst_buffer, row_pitch, slice_pitch, 0, &box);
-    todo ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
 
     for (z = 0; z < 64; ++z)
     {
@@ -30191,18 +30191,29 @@ static void test_read_write_subresource(void)
             row_pitch, slice_pitch);
     todo ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
 
+    /* WriteToSubresource() is not implemented so upload test data */
+    transition_resource_state(command_list, src_texture,
+            D3D12_RESOURCE_STATE_COMMON, D3D12_RESOURCE_STATE_COPY_DEST);
+    texture_data.pData = dst_buffer;
+    texture_data.RowPitch = row_pitch;
+    texture_data.SlicePitch = slice_pitch;
+    upload_texture_data(src_texture, &texture_data, 1, queue, command_list);
+    reset_command_list(command_list, context.allocator);
+    transition_resource_state(command_list, src_texture,
+            D3D12_RESOURCE_STATE_COPY_DEST, D3D12_RESOURCE_STATE_COMMON);
+
     memset(dst_buffer, 0, buffer_size);
 
     /* Read region 1 */
     set_box(&box, 0, 0, 0, 2, 2, 2);
     hr = ID3D12Resource_ReadFromSubresource(src_texture, dst_buffer, row_pitch, slice_pitch, 0, &box);
-    todo ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
 
     /* Read region 2 */
     set_box(&box, 2, 2, 2, 11, 13, 17);
     hr = ID3D12Resource_ReadFromSubresource(src_texture, &dst_buffer[2 * 128 * 100 + 2 * 128 + 2], row_pitch,
             slice_pitch, 0, &box);
-    todo ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
 
     for (z = 0; z < 64; ++z)
     {
@@ -30227,7 +30238,7 @@ static void test_read_write_subresource(void)
         if (got != expected)
             break;
     }
-    todo ok(got == expected, "Got unexpected value 0x%08x at (%u, %u, %u), expected 0x%08x.\n", got, x, y, z, expected);
+    ok(got == expected, "Got unexpected value 0x%08x at (%u, %u, %u), expected 0x%08x.\n", got, x, y, z, expected);
 
     /* Test layout is the same */
     dst_texture = create_default_texture3d(device, 128, 100, 64, 1, DXGI_FORMAT_R8G8B8A8_UNORM, 0,
-- 
2.22.0




More information about the wine-devel mailing list