[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