tests: Mark WriteToSubresource test as todo on NVIDIA.

Similarly to ReadFromSubresource, WriteToSubresource is currently
implemented only for images with linear tiling, which NVIDIA drivers
currently do not support.

Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Giovanni Mascellani
2021-10-06 14:55:16 +02:00
committed by Alexandre Julliard
parent 104626cc1d
commit 64bd7f677c

View File

@ -32092,6 +32092,7 @@ static void test_read_write_subresource(void)
/* NULL box */ /* NULL box */
hr = ID3D12Resource_WriteToSubresource(src_texture, 0, NULL, dst_buffer, row_pitch, slice_pitch); hr = ID3D12Resource_WriteToSubresource(src_texture, 0, NULL, dst_buffer, row_pitch, slice_pitch);
todo_if(is_nvidia_device(device))
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
hr = ID3D12Resource_ReadFromSubresource(src_texture, dst_buffer, row_pitch, slice_pitch, 0, NULL); hr = ID3D12Resource_ReadFromSubresource(src_texture, dst_buffer, row_pitch, slice_pitch, 0, NULL);
@ -32134,17 +32135,20 @@ static void test_read_write_subresource(void)
if (i) if (i)
{ {
hr = ID3D12Resource_WriteToSubresource(src_texture, 0, NULL, zero_buffer, row_pitch, slice_pitch); hr = ID3D12Resource_WriteToSubresource(src_texture, 0, NULL, zero_buffer, row_pitch, slice_pitch);
todo_if(is_nvidia_device(device))
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
/* Write region 1 */ /* Write region 1 */
set_box(&box, 0, 0, 0, 2, 2, 2); set_box(&box, 0, 0, 0, 2, 2, 2);
hr = ID3D12Resource_WriteToSubresource(src_texture, 0, &box, dst_buffer, row_pitch, slice_pitch); hr = ID3D12Resource_WriteToSubresource(src_texture, 0, &box, dst_buffer, row_pitch, slice_pitch);
todo_if(is_nvidia_device(device))
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
/* Write region 2 */ /* Write region 2 */
set_box(&box, 2, 2, 2, 11, 13, 17); set_box(&box, 2, 2, 2, 11, 13, 17);
hr = ID3D12Resource_WriteToSubresource(src_texture, 0, &box, &dst_buffer[2 * 128 * 100 + 2 * 128 + 2], hr = ID3D12Resource_WriteToSubresource(src_texture, 0, &box, &dst_buffer[2 * 128 * 100 + 2 * 128 + 2],
row_pitch, slice_pitch); row_pitch, slice_pitch);
todo_if(is_nvidia_device(device))
ok(hr == S_OK, "Got unexpected hr %#x.\n", hr); ok(hr == S_OK, "Got unexpected hr %#x.\n", hr);
} }
else else
@ -32249,6 +32253,7 @@ static void test_read_write_subresource(void)
if (got != expected) if (got != expected)
break; break;
} }
todo_if(is_nvidia_device(device))
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);
release_resource_readback(&rb); release_resource_readback(&rb);