From: Conor McCarthy <cmccarthy(a)codeweavers.com>
Signed-off-by: Conor McCarthy <cmccarthy(a)codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com>
---
v2: Unmodified resend of patch 215658.
tests/d3d12.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/tests/d3d12.c b/tests/d3d12.c
index ac1e24da..9e4dcb5b 100644
--- a/tests/d3d12.c
+++ b/tests/d3d12.c
@@ -4672,7 +4672,7 @@ static void test_clear_render_target_view(void)
rtv_desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
rtv_desc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2DARRAY;
rtv_desc.Texture2DArray.FirstArraySlice = i;
- rtv_desc.Texture2DArray.ArraySize = 1;
+ rtv_desc.Texture2DArray.ArraySize = (i == ARRAY_SIZE(array_colors) - 1) ? UINT_MAX : 1;
ID3D12Device_CreateRenderTargetView(device, resource, &rtv_desc, rtv_handle);
@@ -4703,7 +4703,7 @@ static void test_clear_render_target_view(void)
rtv_desc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
rtv_desc.ViewDimension = D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY;
rtv_desc.Texture2DMSArray.FirstArraySlice = i;
- rtv_desc.Texture2DMSArray.ArraySize = 1;
+ rtv_desc.Texture2DMSArray.ArraySize = (i == ARRAY_SIZE(array_colors) - 1) ? UINT_MAX : 1;
ID3D12Device_CreateRenderTargetView(device, resource, &rtv_desc, rtv_handle);
@@ -4759,6 +4759,23 @@ static void test_clear_render_target_view(void)
check_readback_data_uint(&rb, &box, 0xbf4c7f19, 1);
release_resource_readback(&rb);
+ rtv_desc.Texture3D.FirstWSlice = 30;
+ rtv_desc.Texture3D.WSize = UINT_MAX;
+ ID3D12Device_CreateRenderTargetView(device, resource, &rtv_desc, rtv_handle);
+
+ reset_command_list(command_list, context.allocator);
+ transition_resource_state(command_list, resource,
+ D3D12_RESOURCE_STATE_COPY_SOURCE, D3D12_RESOURCE_STATE_RENDER_TARGET);
+ ID3D12GraphicsCommandList_ClearRenderTargetView(command_list, rtv_handle, green, 0, NULL);
+ transition_resource_state(command_list, resource,
+ D3D12_RESOURCE_STATE_RENDER_TARGET, D3D12_RESOURCE_STATE_COPY_SOURCE);
+ get_texture_readback_with_command_list(resource, 0, &rb, queue, command_list);
+ set_box(&box, 0, 0, 4, 32, 32, 30);
+ check_readback_data_uint(&rb, &box, 0xbf4c7f19, 1);
+ set_box(&box, 0, 0, 30, 32, 32, 32);
+ check_readback_data_uint(&rb, &box, 0xff00ff00, 1);
+ release_resource_readback(&rb);
+
ID3D12Resource_Release(resource);
ID3D12DescriptorHeap_Release(rtv_heap);
destroy_test_context(&context);
--
2.20.1