1D and 3D image copy and blitting tests
This commit adds new tests to check image copy and blitting operations
work on 1D and 3D color images.
In order to minimize the number of tests being added, the new 1D and 3D
test groups only use copy and blitting operations with the same source
and destination image format. Cross-format tests are still present in
the 2D variants.
These new tests revealed problems in the way the Z coordinate is handled
in blitting operations in several implementations.
These implementations were also wrongly passing 1D and 3D depth/stencil
copy and blitting tests due to the source image depth value not
depending on the Z coordinate.
For this reason, this commit also modifies the way gradients are
generated for 3D images to make all color, depth and stencil channels
depend on the 3 coordinate values. Due to the gradient-filling operation
being used in many other tests, this change has been made by introducing
a new function, tcu::fillWithComponentGradients2, instead of replacing
the existing implementation. Other tests using the old
tcu::fillWithComponentGradients function should be incrementally changed
to use the new function if possible due to the improved coverage.
In addition, test variants for separate depth/stencil layouts that were
only being applied to 3D depth/stencil images are now also applied to 1D
and 2D images.
New tests:
dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.color.1d.*
dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.color.3d.*
dEQP-VK.api.copy_and_blit.*.blit_image.all_formats.color.1d.*
dEQP-VK.api.copy_and_blit.*.blit_image.all_formats.color.3d.*
dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.depth_stencil.1d.*_separate_layouts*
dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.depth_stencil.2d.*_separate_layouts*
dEQP-VK.api.copy_and_blit.*.blit_image.all_formats.depth_stencil.1d.*_separate_layouts*
dEQP-VK.api.copy_and_blit.*.blit_image.all_formats.depth_stencil.2d.*_separate_layouts*
Renamed tests:
Old: dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.color.*
New: dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.color.2d.*
Old: dEQP-VK.api.copy_and_blit.*.blit_image.all_formats.color.*
New: dEQP-VK.api.copy_and_blit.*.blit_image.all_formats.color.2d.*
Affected tests:
dEQP-VK.api.copy_and_blit.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2391
Change-Id: Ica59c3522234cfa81774b5ac7befaa1727cc4401