Add depth bounds tests
authorIgor Ostrowski <igor.ostrowski@intel.com>
Thu, 19 Oct 2017 16:41:40 +0000 (18:41 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 10 Nov 2017 12:46:09 +0000 (07:46 -0500)
New tests:
dEQP-VK.pipeline.depth.format.*_depth_bounds_test
dEQP-VK.dynamic_state.ds_state.depth_bounds_2

Rename:
dEQP-VK.dynamic_state.ds_state.depth_bounds -> depth_bounds_1

Components: Framework, Vulkan
VK-GL-CTS issue: 724

Change-Id: Ia3efb59c0d295f96687d4e63e34f882286cb41f6

18 files changed:
android/cts/master/vk-master.txt
android/cts/nyc/src/vk-master.txt
android/cts/nyc/vk-master.txt
external/vulkancts/modules/vulkan/dynamic_state/vktDynamicStateBaseClass.cpp
external/vulkancts/modules/vulkan/dynamic_state/vktDynamicStateBaseClass.hpp
external/vulkancts/modules/vulkan/dynamic_state/vktDynamicStateDSTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineDepthTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineImageUtil.cpp
external/vulkancts/mustpass/1.0.0/src/master.txt
external/vulkancts/mustpass/1.0.0/vk-default.txt
external/vulkancts/mustpass/1.0.1/src/master.txt
external/vulkancts/mustpass/1.0.1/vk-default.txt
external/vulkancts/mustpass/1.0.2/src/master.txt
external/vulkancts/mustpass/1.0.2/vk-default.txt
external/vulkancts/mustpass/1.0.3/vk-default.txt
framework/referencerenderer/rrFragmentOperations.cpp
framework/referencerenderer/rrFragmentOperations.hpp
framework/referencerenderer/rrRenderState.hpp

index 74c963b..b9435e2 100644 (file)
@@ -93653,449 +93653,893 @@ dEQP-VK.pipeline.depth.format_features.support_d16_unorm
 dEQP-VK.pipeline.depth.format_features.support_d24_unorm_or_d32_sfloat
 dEQP-VK.pipeline.depth.format_features.support_d24_unorm_s8_uint_or_d32_sfloat_s8_uint
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_not_equal_not_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_not_equal_not_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_equal_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_equal_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_greater_greater_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_greater_greater_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_less_or_equal_less_or_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_less_or_equal_less_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_less_less_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_less_less_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_never_never_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_never_never_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_not_equal_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_not_equal_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_equal_not_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_equal_not_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_greater_greater_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_greater_greater_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_greater_or_equal_greater_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_greater_or_equal_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_less_or_equal_less_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_less_or_equal_less_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_always_always_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_always_always_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_less_never_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_less_never_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_never_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_never_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_not_equal_greater_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_not_equal_greater_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_equal_greater_or_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_equal_greater_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_greater_not_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_greater_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_greater_or_equal_less_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_greater_or_equal_less_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_less_or_equal_never_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_less_or_equal_never_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_less_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_less_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_never_always_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_never_always_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_equal_greater_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_equal_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_greater_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_greater_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_less_or_equal_always_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_less_or_equal_always_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_less_less_or_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_less_less_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_always_less_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_always_less_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_equal_less_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_equal_less_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_greater_never_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_greater_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_greater_or_equal_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_greater_or_equal_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_less_not_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_less_not_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_not_equal_less_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_not_equal_less_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_equal_never_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_equal_never_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_greater_less_or_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_greater_less_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_less_or_equal_greater_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_less_or_equal_greater_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_less_always_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_less_always_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_never_not_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_never_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_not_equal_always_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_not_equal_always_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_always_greater_or_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_always_greater_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_greater_or_equal_never_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_greater_or_equal_never_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_never_less_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_never_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_less_or_equal_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_less_or_equal_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_less_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_less_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_always_greater_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_always_greater_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_equal_always_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_never_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_never_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_greater_less_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_greater_less_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_always_never_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_always_never_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_less_or_equal_not_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_less_or_equal_not_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_never_greater_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_never_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_equal_less_or_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_equal_less_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_greater_or_equal_always_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_greater_or_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_always_less_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_always_less_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_never_greater_or_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_never_greater_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_always_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_always_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_greater_always_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_greater_always_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_not_equal_not_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_not_equal_not_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_less_greater_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_less_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_not_equal_never_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_not_equal_never_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_always_not_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_always_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_always_less_or_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_always_less_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_greater_or_equal_less_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_greater_or_equal_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_equal_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_equal_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_greater_or_equal_never_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_greater_or_equal_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_never_greater_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_never_greater_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_greater_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_greater_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_greater_always_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_greater_always_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_not_equal_greater_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_not_equal_greater_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_less_or_equal_not_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_less_or_equal_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_not_equal_not_equal_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_not_equal_not_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_equal_equal_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_equal_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_greater_greater_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_greater_greater_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_less_or_equal_less_or_equal_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_less_or_equal_less_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_less_less_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_less_less_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_never_never_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_never_never_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_not_equal_equal_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_not_equal_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_equal_not_equal_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_equal_not_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_greater_greater_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_greater_greater_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_greater_or_equal_greater_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_greater_or_equal_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_less_or_equal_less_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_less_or_equal_less_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_always_always_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_always_always_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_less_never_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_less_never_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_never_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_never_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_not_equal_greater_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_not_equal_greater_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_equal_greater_or_equal_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_equal_greater_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_greater_not_equal_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_greater_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_greater_or_equal_less_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_greater_or_equal_less_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_less_or_equal_never_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_less_or_equal_never_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_less_equal_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_less_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_never_always_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_never_always_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_equal_greater_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_equal_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_greater_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_greater_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_less_or_equal_always_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_less_or_equal_always_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_less_less_or_equal_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_less_less_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_always_less_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_always_less_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_equal_less_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_equal_less_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_greater_never_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_greater_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_greater_or_equal_equal_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_greater_or_equal_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_less_not_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_less_not_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_not_equal_less_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_not_equal_less_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_equal_never_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_equal_never_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_greater_less_or_equal_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_greater_less_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_less_or_equal_greater_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_less_or_equal_greater_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_less_always_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_less_always_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_never_not_equal_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_never_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_not_equal_always_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_not_equal_always_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_always_greater_or_equal_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_always_greater_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_greater_or_equal_never_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_greater_or_equal_never_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_never_less_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_never_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_less_or_equal_equal_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_less_or_equal_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_less_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_less_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_always_greater_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_always_greater_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_equal_always_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_never_equal_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_never_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_greater_less_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_greater_less_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_always_never_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_always_never_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_less_or_equal_not_equal_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_less_or_equal_not_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_never_greater_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_never_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_equal_less_or_equal_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_equal_less_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_greater_or_equal_always_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_greater_or_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_always_less_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_always_less_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_never_greater_or_equal_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_never_greater_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_always_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_always_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_greater_always_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_greater_always_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_not_equal_not_equal_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_not_equal_not_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_less_greater_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_less_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_not_equal_never_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_not_equal_never_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_always_not_equal_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_always_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_always_less_or_equal_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_always_less_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_greater_or_equal_less_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_greater_or_equal_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_equal_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_equal_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_greater_or_equal_never_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_greater_or_equal_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_never_greater_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_never_greater_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_greater_equal_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_greater_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_greater_always_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_greater_always_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_not_equal_greater_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_not_equal_greater_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_less_or_equal_not_equal_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_less_or_equal_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_not_equal_not_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_not_equal_not_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_equal_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_equal_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_greater_greater_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_greater_greater_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_less_or_equal_less_or_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_less_or_equal_less_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_less_less_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_less_less_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_never_never_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_never_never_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_not_equal_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_not_equal_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_equal_not_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_equal_not_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_greater_greater_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_greater_greater_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_greater_or_equal_greater_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_greater_or_equal_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_less_or_equal_less_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_less_or_equal_less_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_always_always_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_always_always_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_less_never_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_less_never_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_never_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_never_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_not_equal_greater_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_not_equal_greater_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_equal_greater_or_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_equal_greater_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_greater_not_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_greater_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_greater_or_equal_less_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_greater_or_equal_less_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_less_or_equal_never_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_less_or_equal_never_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_less_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_less_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_never_always_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_never_always_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_equal_greater_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_equal_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_greater_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_greater_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_less_or_equal_always_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_less_or_equal_always_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_less_less_or_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_less_less_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_always_less_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_always_less_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_equal_less_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_equal_less_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_greater_never_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_greater_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_greater_or_equal_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_greater_or_equal_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_less_not_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_less_not_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_not_equal_less_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_not_equal_less_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_equal_never_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_equal_never_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_greater_less_or_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_greater_less_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_less_or_equal_greater_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_less_or_equal_greater_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_less_always_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_less_always_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_never_not_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_never_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_not_equal_always_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_not_equal_always_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_always_greater_or_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_always_greater_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_greater_or_equal_never_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_greater_or_equal_never_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_never_less_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_never_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_less_or_equal_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_less_or_equal_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_less_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_less_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_always_greater_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_always_greater_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_equal_always_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_never_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_never_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_greater_less_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_greater_less_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_always_never_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_always_never_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_less_or_equal_not_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_less_or_equal_not_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_never_greater_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_never_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_equal_less_or_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_equal_less_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_greater_or_equal_always_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_greater_or_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_always_less_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_always_less_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_never_greater_or_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_never_greater_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_always_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_always_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_greater_always_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_greater_always_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_not_equal_not_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_not_equal_not_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_less_greater_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_less_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_not_equal_never_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_not_equal_never_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_always_not_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_always_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_always_less_or_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_always_less_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_greater_or_equal_less_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_greater_or_equal_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_equal_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_equal_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_greater_or_equal_never_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_greater_or_equal_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_never_greater_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_never_greater_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_greater_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_greater_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_greater_always_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_greater_always_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_not_equal_greater_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_not_equal_greater_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_less_or_equal_not_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_less_or_equal_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_not_equal_not_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_not_equal_not_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_equal_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_equal_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_greater_greater_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_greater_greater_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_less_or_equal_less_or_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_less_or_equal_less_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_less_less_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_less_less_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_never_never_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_never_never_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_not_equal_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_not_equal_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_equal_not_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_equal_not_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_greater_greater_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_greater_greater_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_greater_or_equal_greater_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_greater_or_equal_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_less_or_equal_less_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_less_or_equal_less_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_always_always_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_always_always_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_less_never_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_less_never_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_never_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_never_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_not_equal_greater_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_not_equal_greater_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_equal_greater_or_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_equal_greater_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_greater_not_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_greater_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_greater_or_equal_less_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_greater_or_equal_less_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_less_or_equal_never_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_less_or_equal_never_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_less_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_less_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_never_always_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_never_always_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_equal_greater_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_equal_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_greater_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_greater_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_less_or_equal_always_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_less_or_equal_always_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_less_less_or_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_less_less_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_always_less_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_always_less_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_equal_less_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_equal_less_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_greater_never_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_greater_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_greater_or_equal_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_greater_or_equal_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_less_not_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_less_not_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_not_equal_less_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_not_equal_less_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_equal_never_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_equal_never_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_greater_less_or_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_greater_less_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_less_or_equal_greater_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_less_or_equal_greater_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_less_always_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_less_always_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_never_not_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_never_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_not_equal_always_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_not_equal_always_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_always_greater_or_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_always_greater_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_greater_or_equal_never_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_greater_or_equal_never_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_never_less_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_never_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_less_or_equal_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_less_or_equal_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_less_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_less_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_always_greater_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_always_greater_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_equal_always_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_never_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_never_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_greater_less_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_greater_less_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_always_never_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_always_never_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_less_or_equal_not_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_less_or_equal_not_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_never_greater_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_never_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_equal_less_or_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_equal_less_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_greater_or_equal_always_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_greater_or_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_always_less_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_always_less_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_never_greater_or_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_never_greater_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_always_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_always_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_greater_always_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_greater_always_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_not_equal_not_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_not_equal_not_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_less_greater_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_less_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_not_equal_never_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_not_equal_never_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_always_not_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_always_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_always_less_or_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_always_less_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_greater_or_equal_less_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_greater_or_equal_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_equal_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_equal_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_never_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_never_greater_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_never_greater_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_greater_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_greater_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_greater_always_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_greater_always_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_not_equal_greater_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_not_equal_greater_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_less_or_equal_not_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_less_or_equal_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_not_equal_not_equal_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_not_equal_not_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_equal_equal_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_equal_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_greater_greater_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_greater_greater_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_less_or_equal_less_or_equal_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_less_or_equal_less_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_less_less_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_less_less_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_never_never_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_never_never_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_not_equal_equal_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_not_equal_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_equal_not_equal_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_equal_not_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_greater_greater_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_greater_greater_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_greater_or_equal_greater_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_greater_or_equal_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_less_or_equal_less_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_less_or_equal_less_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_always_always_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_always_always_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_less_never_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_less_never_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_never_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_never_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_not_equal_greater_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_not_equal_greater_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_equal_greater_or_equal_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_equal_greater_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_greater_not_equal_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_greater_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_greater_or_equal_less_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_greater_or_equal_less_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_less_or_equal_never_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_less_or_equal_never_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_less_equal_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_less_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_never_always_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_never_always_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_equal_greater_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_equal_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_greater_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_greater_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_less_or_equal_always_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_less_or_equal_always_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_less_less_or_equal_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_less_less_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_always_less_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_always_less_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_equal_less_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_equal_less_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_greater_never_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_greater_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_greater_or_equal_equal_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_greater_or_equal_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_less_not_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_less_not_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_not_equal_less_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_not_equal_less_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_equal_never_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_equal_never_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_greater_less_or_equal_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_greater_less_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_less_or_equal_greater_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_less_or_equal_greater_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_less_always_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_less_always_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_never_not_equal_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_never_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_not_equal_always_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_not_equal_always_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_always_greater_or_equal_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_always_greater_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_greater_or_equal_never_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_greater_or_equal_never_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_never_less_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_never_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_less_or_equal_equal_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_less_or_equal_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_less_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_less_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_always_greater_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_always_greater_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_equal_always_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_never_equal_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_never_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_greater_less_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_greater_less_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_always_never_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_always_never_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_less_or_equal_not_equal_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_less_or_equal_not_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_never_greater_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_never_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_equal_less_or_equal_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_equal_less_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_greater_or_equal_always_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_greater_or_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_always_less_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_always_less_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_never_greater_or_equal_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_never_greater_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_always_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_always_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_greater_always_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_greater_always_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_not_equal_not_equal_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_not_equal_not_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_less_greater_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_less_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_not_equal_never_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_not_equal_never_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_always_not_equal_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_always_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_always_less_or_equal_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_always_less_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_greater_or_equal_less_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_greater_or_equal_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_equal_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_equal_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_never_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_never_greater_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_never_greater_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_greater_equal_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_greater_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_greater_always_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_greater_always_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_not_equal_greater_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_not_equal_greater_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_less_or_equal_not_equal_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_less_or_equal_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_not_equal_not_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_not_equal_not_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_equal_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_equal_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_greater_greater_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_greater_greater_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_less_or_equal_less_or_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_less_or_equal_less_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_less_less_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_less_less_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_never_never_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_never_never_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_not_equal_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_not_equal_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_equal_not_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_equal_not_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_greater_greater_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_greater_greater_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_greater_or_equal_greater_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_greater_or_equal_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_less_or_equal_less_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_less_or_equal_less_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_always_always_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_always_always_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_less_never_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_less_never_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_never_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_never_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_not_equal_greater_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_not_equal_greater_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_equal_greater_or_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_equal_greater_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_greater_not_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_greater_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_greater_or_equal_less_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_greater_or_equal_less_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_less_or_equal_never_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_less_or_equal_never_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_less_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_less_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_never_always_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_never_always_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_equal_greater_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_equal_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_greater_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_greater_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_less_or_equal_always_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_less_or_equal_always_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_less_less_or_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_less_less_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_always_less_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_always_less_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_equal_less_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_equal_less_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_greater_never_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_greater_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_greater_or_equal_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_greater_or_equal_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_less_not_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_less_not_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_not_equal_less_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_not_equal_less_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_equal_never_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_equal_never_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_greater_less_or_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_greater_less_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_less_or_equal_greater_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_less_or_equal_greater_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_less_always_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_less_always_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_never_not_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_never_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_not_equal_always_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_not_equal_always_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_always_greater_or_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_always_greater_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_greater_or_equal_never_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_greater_or_equal_never_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_never_less_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_never_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_less_or_equal_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_less_or_equal_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_less_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_less_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_always_greater_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_always_greater_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_equal_always_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_never_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_never_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_greater_less_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_greater_less_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_always_never_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_always_never_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_less_or_equal_not_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_less_or_equal_not_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_never_greater_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_never_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_equal_less_or_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_equal_less_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_greater_or_equal_always_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_greater_or_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_always_less_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_always_less_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_never_greater_or_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_never_greater_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_always_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_always_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_greater_always_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_greater_always_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_not_equal_not_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_not_equal_not_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_less_greater_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_less_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_not_equal_never_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_not_equal_never_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_always_not_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_always_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_always_less_or_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_always_less_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_greater_or_equal_less_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_greater_or_equal_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_equal_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_equal_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_greater_or_equal_never_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_greater_or_equal_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_never_greater_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_never_greater_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_greater_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_greater_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_greater_always_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_greater_always_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_not_equal_greater_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_not_equal_greater_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_less_or_equal_not_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_less_or_equal_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.image.suballocation.sampling_type.combined.view_type.1d.format.r4g4_unorm_pack8.count_1.size.1x1
 dEQP-VK.pipeline.image.suballocation.sampling_type.combined.view_type.1d.format.r4g4_unorm_pack8.count_1.size.2x1
 dEQP-VK.pipeline.image.suballocation.sampling_type.combined.view_type.1d.format.r4g4_unorm_pack8.count_1.size.32x1
@@ -202646,7 +203090,8 @@ dEQP-VK.dynamic_state.rs_state.depth_bias
 dEQP-VK.dynamic_state.rs_state.depth_bias_clamp
 dEQP-VK.dynamic_state.rs_state.line_width
 dEQP-VK.dynamic_state.cb_state.blend_constants
-dEQP-VK.dynamic_state.ds_state.depth_bounds
+dEQP-VK.dynamic_state.ds_state.depth_bounds_1
+dEQP-VK.dynamic_state.ds_state.depth_bounds_2
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_2
 dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
index 2886223..cd86b58 100644 (file)
@@ -81716,7 +81716,7 @@ dEQP-VK.dynamic_state.rs_state.depth_bias
 dEQP-VK.dynamic_state.rs_state.depth_bias_clamp
 dEQP-VK.dynamic_state.rs_state.line_width
 dEQP-VK.dynamic_state.cb_state.blend_constants
-dEQP-VK.dynamic_state.ds_state.depth_bounds
+dEQP-VK.dynamic_state.ds_state.depth_bounds_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_2
 dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
index 7d55cd5..e22378d 100644 (file)
@@ -81716,7 +81716,7 @@ dEQP-VK.dynamic_state.rs_state.depth_bias
 dEQP-VK.dynamic_state.rs_state.depth_bias_clamp
 dEQP-VK.dynamic_state.rs_state.line_width
 dEQP-VK.dynamic_state.cb_state.blend_constants
-dEQP-VK.dynamic_state.ds_state.depth_bounds
+dEQP-VK.dynamic_state.ds_state.depth_bounds_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_2
 dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
index 3dbe0de..cb10966 100644 (file)
@@ -60,45 +60,6 @@ void DynamicStateBaseClass::initialize (void)
        const ImageViewCreateInfo colorTargetViewInfo(m_colorTargetImage->object(), vk::VK_IMAGE_VIEW_TYPE_2D, m_colorAttachmentFormat);
        m_colorTargetView = vk::createImageView(m_vk, device, &colorTargetViewInfo);
 
-       RenderPassCreateInfo renderPassCreateInfo;
-       renderPassCreateInfo.addAttachment(AttachmentDescription(m_colorAttachmentFormat,
-                                                                                                                        vk::VK_SAMPLE_COUNT_1_BIT,
-                                                                                                                        vk::VK_ATTACHMENT_LOAD_OP_LOAD,
-                                                                                                                        vk::VK_ATTACHMENT_STORE_OP_STORE,
-                                                                                                                        vk::VK_ATTACHMENT_LOAD_OP_DONT_CARE,
-                                                                                                                        vk::VK_ATTACHMENT_STORE_OP_STORE,
-                                                                                                                        vk::VK_IMAGE_LAYOUT_GENERAL,
-                                                                                                                        vk::VK_IMAGE_LAYOUT_GENERAL));
-
-       const vk::VkAttachmentReference colorAttachmentReference =
-       {
-               0,
-               vk::VK_IMAGE_LAYOUT_GENERAL
-       };
-
-       renderPassCreateInfo.addSubpass(SubpassDescription(
-               vk::VK_PIPELINE_BIND_POINT_GRAPHICS,
-               0,
-               0,
-               DE_NULL,
-               1,
-               &colorAttachmentReference,
-               DE_NULL,
-               AttachmentReference(),
-               0,
-               DE_NULL
-               )
-               );
-
-       m_renderPass = vk::createRenderPass(m_vk, device, &renderPassCreateInfo);
-
-       std::vector<vk::VkImageView> colorAttachments(1);
-       colorAttachments[0] = *m_colorTargetView;
-
-       const FramebufferCreateInfo framebufferCreateInfo(*m_renderPass, colorAttachments, WIDTH, HEIGHT, 1);
-
-       m_framebuffer = vk::createFramebuffer(m_vk, device, &framebufferCreateInfo);
-
        const vk::VkVertexInputBindingDescription vertexInputBindingDescription =
        {
                0,
@@ -153,9 +114,57 @@ void DynamicStateBaseClass::initialize (void)
        };
        m_cmdBuffer = vk::allocateCommandBuffer(m_vk, device, &cmdBufferAllocateInfo);
 
+       initRenderPass(device);
+       initFramebuffer(device);
        initPipeline(device);
 }
 
+
+void DynamicStateBaseClass::initRenderPass (const vk::VkDevice device)
+{
+       RenderPassCreateInfo renderPassCreateInfo;
+       renderPassCreateInfo.addAttachment(AttachmentDescription(m_colorAttachmentFormat,
+               vk::VK_SAMPLE_COUNT_1_BIT,
+               vk::VK_ATTACHMENT_LOAD_OP_LOAD,
+               vk::VK_ATTACHMENT_STORE_OP_STORE,
+               vk::VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+               vk::VK_ATTACHMENT_STORE_OP_STORE,
+               vk::VK_IMAGE_LAYOUT_GENERAL,
+               vk::VK_IMAGE_LAYOUT_GENERAL));
+
+       const vk::VkAttachmentReference colorAttachmentReference =
+       {
+               0,
+               vk::VK_IMAGE_LAYOUT_GENERAL
+       };
+
+       renderPassCreateInfo.addSubpass(SubpassDescription(
+               vk::VK_PIPELINE_BIND_POINT_GRAPHICS,
+               0,
+               0,
+               DE_NULL,
+               1,
+               &colorAttachmentReference,
+               DE_NULL,
+               AttachmentReference(),
+               0,
+               DE_NULL
+       )
+       );
+
+       m_renderPass = vk::createRenderPass(m_vk, device, &renderPassCreateInfo);
+}
+
+void DynamicStateBaseClass::initFramebuffer (const vk::VkDevice device)
+{
+       std::vector<vk::VkImageView> colorAttachments(1);
+       colorAttachments[0] = *m_colorTargetView;
+
+       const FramebufferCreateInfo framebufferCreateInfo(*m_renderPass, colorAttachments, WIDTH, HEIGHT, 1);
+
+       m_framebuffer = vk::createFramebuffer(m_vk, device, &framebufferCreateInfo);
+}
+
 void DynamicStateBaseClass::initPipeline (const vk::VkDevice device)
 {
        const vk::Unique<vk::VkShaderModule> vs(createShaderModule(m_vk, device, m_context.getBinaryCollection().get(m_vertexShaderName), 0));
@@ -190,10 +199,13 @@ void DynamicStateBaseClass::beginRenderPass (void)
        beginRenderPassWithClearColor(clearColor);
 }
 
-void DynamicStateBaseClass::beginRenderPassWithClearColor (const vk::VkClearColorValue& clearColor)
+void DynamicStateBaseClass::beginRenderPassWithClearColor(const vk::VkClearColorValue& clearColor, const bool skipBeginCmdBuffer)
 {
-       const CmdBufferBeginInfo beginInfo;
-       m_vk.beginCommandBuffer(*m_cmdBuffer, &beginInfo);
+       if (!skipBeginCmdBuffer)
+       {
+               const CmdBufferBeginInfo beginInfo;
+               m_vk.beginCommandBuffer(*m_cmdBuffer, &beginInfo);
+       }
 
        initialTransitionColor2DImage(m_vk, *m_cmdBuffer, m_colorTargetImage->object(), vk::VK_IMAGE_LAYOUT_GENERAL,
                                                                  vk::VK_ACCESS_TRANSFER_WRITE_BIT, vk::VK_PIPELINE_STAGE_TRANSFER_BIT);
index e65810f..f179c72 100644 (file)
@@ -45,13 +45,16 @@ public:
 protected:
        void                                    initialize                                              (void);
 
+       virtual void                    initRenderPass                                  (const vk::VkDevice                             device);
+       virtual void                    initFramebuffer                                 (const vk::VkDevice                             device);
        virtual void                    initPipeline                                    (const vk::VkDevice                             device);
 
        virtual tcu::TestStatus iterate                                                 (void);
 
        void                                    beginRenderPass                                 (void);
 
-       void                                    beginRenderPassWithClearColor   (const vk::VkClearColorValue&   clearColor);
+       void                                    beginRenderPassWithClearColor   (const vk::VkClearColorValue&   clearColor,
+                                                                                                                        const bool                                             skipBeginCmdBuffer      = false);
 
        void                                    setDynamicViewportState                 (const deUint32                                 width,
                                                                                                                        const deUint32                                  height);
index 5c7f08e..b13f366 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "vktTestCaseUtil.hpp"
 #include "vktDynamicStateTestCaseUtil.hpp"
+#include "vktDynamicStateBaseClass.hpp"
 
 #include "tcuTestLog.hpp"
 #include "tcuResource.hpp"
@@ -36,6 +37,7 @@
 
 #include "vkRefUtil.hpp"
 #include "vkImageUtil.hpp"
+#include "vkTypeUtil.hpp"
 
 #include "vktDrawCreateInfoUtil.hpp"
 #include "vktDrawImageObjectUtil.hpp"
@@ -525,6 +527,266 @@ public:
        }
 };
 
+class DepthBoundsTestInstance : public DynamicStateBaseClass
+{
+public:
+       enum
+       {
+               DEPTH_BOUNDS_MIN        = 0,
+               DEPTH_BOUNDS_MAX        = 1,
+               DEPTH_BOUNDS_COUNT      = 2
+       };
+       static const float                                      depthBounds[DEPTH_BOUNDS_COUNT];
+
+                                                               DepthBoundsTestInstance         (Context&                               context,
+                                                                                                                        ShaderMap                              shaders);
+       virtual void                            initRenderPass                          (const vk::VkDevice             device);
+       virtual void                            initFramebuffer                         (const vk::VkDevice             device);
+       virtual void                            initPipeline                            (const vk::VkDevice             device);
+       virtual tcu::TestStatus         iterate                                         (void);
+private:
+       const vk::VkFormat                      m_depthAttachmentFormat;
+
+       de::SharedPtr<Draw::Image>      m_depthImage;
+       vk::Move<vk::VkImageView>       m_depthView;
+};
+
+const float DepthBoundsTestInstance::depthBounds[DEPTH_BOUNDS_COUNT] =
+{
+       0.3f,
+       0.9f
+};
+
+DepthBoundsTestInstance::DepthBoundsTestInstance(Context& context, ShaderMap shaders)
+       : DynamicStateBaseClass         (context, shaders[glu::SHADERTYPE_VERTEX], shaders[glu::SHADERTYPE_FRAGMENT])
+       , m_depthAttachmentFormat       (vk::VK_FORMAT_D16_UNORM)
+{
+       // Check depthBounds support
+       if (!context.getDeviceFeatures().depthBounds)
+               TCU_THROW(NotSupportedError, "depthBounds feature is not supported");
+
+       const vk::VkDevice device = m_context.getDevice();
+
+       const vk::VkExtent3D depthImageExtent = { WIDTH, HEIGHT, 1 };
+       const ImageCreateInfo depthImageCreateInfo(vk::VK_IMAGE_TYPE_2D, m_depthAttachmentFormat, depthImageExtent, 1, 1, vk::VK_SAMPLE_COUNT_1_BIT,
+                                                                                               vk::VK_IMAGE_TILING_OPTIMAL, vk::VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | vk::VK_IMAGE_USAGE_TRANSFER_DST_BIT);
+
+       m_depthImage = Image::createAndAlloc(m_vk, device, depthImageCreateInfo, m_context.getDefaultAllocator(), m_context.getUniversalQueueFamilyIndex());
+
+       const ImageViewCreateInfo depthViewInfo(m_depthImage->object(), vk::VK_IMAGE_VIEW_TYPE_2D, m_depthAttachmentFormat);
+       m_depthView = vk::createImageView(m_vk, device, &depthViewInfo);
+
+       m_topology = vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP;
+
+       m_data.push_back(PositionColorVertex(tcu::Vec4(-1.0f,  1.0f, 1.0f, 1.0f), tcu::RGBA::green().toVec()));
+       m_data.push_back(PositionColorVertex(tcu::Vec4( 1.0f,  1.0f, 1.0f, 1.0f), tcu::RGBA::green().toVec()));
+       m_data.push_back(PositionColorVertex(tcu::Vec4(-1.0f, -1.0f, 1.0f, 1.0f), tcu::RGBA::green().toVec()));
+       m_data.push_back(PositionColorVertex(tcu::Vec4( 1.0f, -1.0f, 1.0f, 1.0f), tcu::RGBA::green().toVec()));
+
+       DynamicStateBaseClass::initialize();
+}
+
+
+void DepthBoundsTestInstance::initRenderPass (const vk::VkDevice device)
+{
+       RenderPassCreateInfo renderPassCreateInfo;
+       renderPassCreateInfo.addAttachment(AttachmentDescription(m_colorAttachmentFormat,
+               vk::VK_SAMPLE_COUNT_1_BIT,
+               vk::VK_ATTACHMENT_LOAD_OP_LOAD,
+               vk::VK_ATTACHMENT_STORE_OP_STORE,
+               vk::VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+               vk::VK_ATTACHMENT_STORE_OP_STORE,
+               vk::VK_IMAGE_LAYOUT_GENERAL,
+               vk::VK_IMAGE_LAYOUT_GENERAL));
+       renderPassCreateInfo.addAttachment(AttachmentDescription(m_depthAttachmentFormat,
+               vk::VK_SAMPLE_COUNT_1_BIT,
+               vk::VK_ATTACHMENT_LOAD_OP_LOAD,
+               vk::VK_ATTACHMENT_STORE_OP_STORE,
+               vk::VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+               vk::VK_ATTACHMENT_STORE_OP_STORE,
+               vk::VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL,
+               vk::VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL));
+
+       const vk::VkAttachmentReference colorAttachmentReference =
+       {
+               0,
+               vk::VK_IMAGE_LAYOUT_GENERAL
+       };
+
+       const vk::VkAttachmentReference depthAttachmentReference =
+       {
+               1,
+               vk::VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
+       };
+
+       renderPassCreateInfo.addSubpass(SubpassDescription(
+               vk::VK_PIPELINE_BIND_POINT_GRAPHICS,
+               0,
+               0,
+               DE_NULL,
+               1,
+               &colorAttachmentReference,
+               DE_NULL,
+               depthAttachmentReference,
+               0,
+               DE_NULL
+       )
+       );
+
+       m_renderPass = vk::createRenderPass(m_vk, device, &renderPassCreateInfo);
+}
+
+void DepthBoundsTestInstance::initFramebuffer (const vk::VkDevice device)
+{
+       std::vector<vk::VkImageView> attachments(2);
+       attachments[0] = *m_colorTargetView;
+       attachments[1] = *m_depthView;
+
+       const FramebufferCreateInfo framebufferCreateInfo(*m_renderPass, attachments, WIDTH, HEIGHT, 1);
+
+       m_framebuffer = vk::createFramebuffer(m_vk, device, &framebufferCreateInfo);
+}
+
+void DepthBoundsTestInstance::initPipeline (const vk::VkDevice device)
+{
+       const vk::Unique<vk::VkShaderModule> vs(createShaderModule(m_vk, device, m_context.getBinaryCollection().get(m_vertexShaderName), 0));
+       const vk::Unique<vk::VkShaderModule> fs(createShaderModule(m_vk, device, m_context.getBinaryCollection().get(m_fragmentShaderName), 0));
+
+       const PipelineCreateInfo::ColorBlendState::Attachment vkCbAttachmentState;
+
+       PipelineCreateInfo pipelineCreateInfo(*m_pipelineLayout, *m_renderPass, 0, 0);
+       pipelineCreateInfo.addShader(PipelineCreateInfo::PipelineShaderStage(*vs, "main", vk::VK_SHADER_STAGE_VERTEX_BIT));
+       pipelineCreateInfo.addShader(PipelineCreateInfo::PipelineShaderStage(*fs, "main", vk::VK_SHADER_STAGE_FRAGMENT_BIT));
+       pipelineCreateInfo.addState(PipelineCreateInfo::VertexInputState(m_vertexInputState));
+       pipelineCreateInfo.addState(PipelineCreateInfo::InputAssemblerState(m_topology));
+       pipelineCreateInfo.addState(PipelineCreateInfo::ColorBlendState(1, &vkCbAttachmentState));
+       pipelineCreateInfo.addState(PipelineCreateInfo::ViewportState(1));
+       pipelineCreateInfo.addState(PipelineCreateInfo::DepthStencilState(false, false, vk::VK_COMPARE_OP_NEVER, true));
+       pipelineCreateInfo.addState(PipelineCreateInfo::RasterizerState());
+       pipelineCreateInfo.addState(PipelineCreateInfo::MultiSampleState());
+       pipelineCreateInfo.addState(PipelineCreateInfo::DynamicState());
+
+       m_pipeline = vk::createGraphicsPipeline(m_vk, device, DE_NULL, &pipelineCreateInfo);
+}
+
+
+tcu::TestStatus DepthBoundsTestInstance::iterate (void)
+{
+       tcu::TestLog            &log            = m_context.getTestContext().getLog();
+       const vk::VkQueue       queue           = m_context.getUniversalQueue();
+       const vk::VkDevice      device          = m_context.getDevice();
+
+       // Prepare depth image
+       tcu::Texture2D depthData(vk::mapVkFormat(m_depthAttachmentFormat), (int)(0.5 + WIDTH), (int)(0.5 + HEIGHT));
+       depthData.allocLevel(0);
+
+       const deInt32 depthDataWidth    = depthData.getWidth();
+       const deInt32 depthDataHeight   = depthData.getHeight();
+
+       for (int y = 0; y < depthDataHeight; ++y)
+               for (int x = 0; x < depthDataWidth; ++x)
+                       depthData.getLevel(0).setPixDepth((float)(y * depthDataWidth + x % 11) / 10, x, y);
+
+       const vk::VkDeviceSize dataSize = depthData.getLevel(0).getWidth() * depthData.getLevel(0).getHeight()
+               * tcu::getPixelSize(mapVkFormat(m_depthAttachmentFormat));
+       de::SharedPtr<Draw::Buffer> stageBuffer = Buffer::createAndAlloc(m_vk, device, BufferCreateInfo(dataSize, vk::VK_BUFFER_USAGE_TRANSFER_SRC_BIT),
+               m_context.getDefaultAllocator(), vk::MemoryRequirement::HostVisible);
+
+       deUint8* ptr = reinterpret_cast<unsigned char *>(stageBuffer->getBoundMemory().getHostPtr());
+       deMemcpy(ptr, depthData.getLevel(0).getDataPtr(), (size_t)dataSize);
+
+       vk::flushMappedMemoryRange(m_vk, device,
+               stageBuffer->getBoundMemory().getMemory(),
+               stageBuffer->getBoundMemory().getOffset(),
+               dataSize);
+
+       const CmdBufferBeginInfo beginInfo;
+       m_vk.beginCommandBuffer(*m_cmdBuffer, &beginInfo);
+
+       initialTransitionDepth2DImage(m_vk, *m_cmdBuffer, m_depthImage->object(), vk::VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
+                                                                 vk::VK_ACCESS_TRANSFER_WRITE_BIT, vk::VK_PIPELINE_STAGE_TRANSFER_BIT);
+
+       const vk::VkBufferImageCopy bufferImageCopy =
+       {
+               (vk::VkDeviceSize)0,                                                                                                            // VkDeviceSize                                 bufferOffset;
+               0u,                                                                                                                                                     // deUint32                                             bufferRowLength;
+               0u,                                                                                                                                                     // deUint32                                             bufferImageHeight;
+               vk::makeImageSubresourceLayers(vk::VK_IMAGE_ASPECT_DEPTH_BIT, 0u, 0u, 1u),      // VkImageSubresourceLayers             imageSubresource;
+               vk::makeOffset3D(0, 0, 0),                                                                                                      // VkOffset3D                                   imageOffset;
+               vk::makeExtent3D(WIDTH, HEIGHT, 1u)                                                                                     // VkExtent3D                                   imageExtent;
+       };
+       m_vk.cmdCopyBufferToImage(*m_cmdBuffer, stageBuffer->object(), m_depthImage->object(), vk::VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1u, &bufferImageCopy);
+
+       transition2DImage(m_vk, *m_cmdBuffer, m_depthImage->object(), vk::VK_IMAGE_ASPECT_DEPTH_BIT, vk::VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
+                                         vk::VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, vk::VK_ACCESS_TRANSFER_WRITE_BIT, vk::VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT,
+                                         vk::VK_PIPELINE_STAGE_TRANSFER_BIT, vk::VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | vk::VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT);
+
+       const vk::VkClearColorValue clearColor = { { 1.0f, 1.0f, 1.0f, 1.0f } };
+       beginRenderPassWithClearColor(clearColor, true);
+
+       // Bind states
+       setDynamicViewportState(WIDTH, HEIGHT);
+       setDynamicRasterizationState();
+       setDynamicBlendState();
+       setDynamicDepthStencilState(depthBounds[DEPTH_BOUNDS_MIN], depthBounds[DEPTH_BOUNDS_MAX]);
+
+       m_vk.cmdBindPipeline(*m_cmdBuffer, vk::VK_PIPELINE_BIND_POINT_GRAPHICS, *m_pipeline);
+
+       const vk::VkDeviceSize  vertexBufferOffset      = 0;
+       const vk::VkBuffer              vertexBuffer            = m_vertexBuffer->object();
+       m_vk.cmdBindVertexBuffers(*m_cmdBuffer, 0, 1, &vertexBuffer, &vertexBufferOffset);
+
+       m_vk.cmdDraw(*m_cmdBuffer, static_cast<deUint32>(m_data.size()), 1, 0, 0);
+
+       m_vk.cmdEndRenderPass(*m_cmdBuffer);
+       m_vk.endCommandBuffer(*m_cmdBuffer);
+
+       vk::VkSubmitInfo submitInfo =
+       {
+               vk::VK_STRUCTURE_TYPE_SUBMIT_INFO,      // VkStructureType                      sType;
+               DE_NULL,                                                        // const void*                          pNext;
+               0,                                                                      // deUint32                                     waitSemaphoreCount;
+               DE_NULL,                                                        // const VkSemaphore*           pWaitSemaphores;
+               (const vk::VkPipelineStageFlags*)DE_NULL,
+               1,                                                                      // deUint32                                     commandBufferCount;
+               &m_cmdBuffer.get(),                                     // const VkCommandBuffer*       pCommandBuffers;
+               0,                                                                      // deUint32                                     signalSemaphoreCount;
+               DE_NULL                                                         // const VkSemaphore*           pSignalSemaphores;
+       };
+       m_vk.queueSubmit(queue, 1, &submitInfo, DE_NULL);
+       VK_CHECK(m_vk.queueWaitIdle(queue));
+
+       // Validation
+       {
+               tcu::Texture2D referenceFrame(vk::mapVkFormat(m_colorAttachmentFormat), (int)(0.5 + WIDTH), (int)(0.5 + HEIGHT));
+               referenceFrame.allocLevel(0);
+
+               const deInt32 frameWidth        = referenceFrame.getWidth();
+               const deInt32 frameHeight       = referenceFrame.getHeight();
+
+               tcu::clear(referenceFrame.getLevel(0), tcu::Vec4(1.0f, 1.0f, 1.0f, 1.0f));
+
+               for (int y = 0; y < frameHeight; ++y)
+                       for (int x = 0; x < frameWidth; ++x)
+                               if (depthData.getLevel(0).getPixDepth(x, y) >= depthBounds[DEPTH_BOUNDS_MIN]
+                                       && depthData.getLevel(0).getPixDepth(x, y) <= depthBounds[DEPTH_BOUNDS_MAX])
+                                       referenceFrame.getLevel(0).setPixel(tcu::RGBA::green().toVec(), x, y);
+
+               const vk::VkOffset3D zeroOffset = { 0, 0, 0 };
+               const tcu::ConstPixelBufferAccess renderedFrame = m_colorTargetImage->readSurface(queue, m_context.getDefaultAllocator(),
+                       vk::VK_IMAGE_LAYOUT_GENERAL, zeroOffset, WIDTH, HEIGHT, vk::VK_IMAGE_ASPECT_COLOR_BIT);
+
+               if (!tcu::fuzzyCompare(log, "Result", "Image comparison result",
+                       referenceFrame.getLevel(0), renderedFrame, 0.05f,
+                       tcu::COMPARE_LOG_RESULT))
+               {
+                       return tcu::TestStatus(QP_TEST_RESULT_FAIL, "Image verification failed");
+               }
+
+               return tcu::TestStatus(QP_TEST_RESULT_PASS, "Image verification passed");
+       }
+}
+
 class StencilParamsBasicTestInstance : public DepthStencilBaseCase
 {
 protected:
@@ -863,7 +1125,8 @@ void DynamicStateDSTests::init (void)
        shaderPaths[glu::SHADERTYPE_VERTEX] = "vulkan/dynamic_state/VertexFetch.vert";
        shaderPaths[glu::SHADERTYPE_FRAGMENT] = "vulkan/dynamic_state/VertexFetch.frag";
 
-       addChild(new InstanceFactory<DepthBoundsParamTestInstance>(m_testCtx, "depth_bounds", "Perform depth bounds test", shaderPaths));
+       addChild(new InstanceFactory<DepthBoundsParamTestInstance>(m_testCtx, "depth_bounds_1", "Perform depth bounds test 1", shaderPaths));
+       addChild(new InstanceFactory<DepthBoundsTestInstance>(m_testCtx, "depth_bounds_2", "Perform depth bounds test 1", shaderPaths));
        addChild(new StencilParamsBasicTestCase(m_testCtx, "stencil_params_basic_1", "Perform basic stencil test 1", 0x0D, 0x06, 0x05, tcu::Vec4(0.0f, 0.0f, 1.0f, 1.0f)));
        addChild(new StencilParamsBasicTestCase(m_testCtx, "stencil_params_basic_2", "Perform basic stencil test 2", 0x06, 0x02, 0x05, tcu::Vec4(0.0f, 1.0f, 0.0f, 1.0f)));
        addChild(new InstanceFactory<StencilParamsAdvancedTestInstance>(m_testCtx, "stencil_params_advanced", "Perform advanced stencil test", shaderPaths));
index be53d7f..5162d68 100644 (file)
@@ -112,24 +112,37 @@ public:
 
        static const float                                      quadDepths[QUAD_COUNT];
 
+       enum
+       {
+               DEPTH_BOUNDS_MIN        = 0,
+               DEPTH_BOUNDS_MAX        = 1,
+               DEPTH_BOUNDS_COUNT      = 2
+       };
+       static const float                                      depthBounds[DEPTH_BOUNDS_COUNT];
+
                                                                                DepthTest                               (tcu::TestContext&              testContext,
                                                                                                                                 const std::string&             name,
                                                                                                                                 const std::string&             description,
                                                                                                                                 const VkFormat                 depthFormat,
-                                                                                                                                const VkCompareOp              depthCompareOps[QUAD_COUNT]);
+                                                                                                                                const VkCompareOp              depthCompareOps[QUAD_COUNT],
+                                                                                                                                const bool                             depthBoundsTestEnable                   = false);
        virtual                                                         ~DepthTest                              (void);
        virtual void                                            initPrograms                    (SourceCollections& programCollection) const;
        virtual TestInstance*                           createInstance                  (Context& context) const;
 
 private:
        const VkFormat                                          m_depthFormat;
+       const bool                                                      m_depthBoundsTestEnable;
        VkCompareOp                                                     m_depthCompareOps[QUAD_COUNT];
 };
 
 class DepthTestInstance : public vkt::TestInstance
 {
 public:
-                                                                               DepthTestInstance               (Context& context, const VkFormat depthFormat, const VkCompareOp depthCompareOps[DepthTest::QUAD_COUNT]);
+                                                                               DepthTestInstance               (Context&                       context,
+                                                                                                                                const VkFormat         depthFormat,
+                                                                                                                                const VkCompareOp      depthCompareOps[DepthTest::QUAD_COUNT],
+                                                                                                                                const bool                     depthBoundsTestEnable);
        virtual                                                         ~DepthTestInstance              (void);
        virtual tcu::TestStatus                         iterate                                 (void);
 
@@ -141,6 +154,7 @@ private:
        const tcu::UVec2                                        m_renderSize;
        const VkFormat                                          m_colorFormat;
        const VkFormat                                          m_depthFormat;
+       const bool                                                      m_depthBoundsTestEnable;
        VkImageSubresourceRange                         m_depthImageSubresourceRange;
 
        Move<VkImage>                                           m_colorImage;
@@ -176,13 +190,21 @@ const float DepthTest::quadDepths[QUAD_COUNT] =
        0.2f
 };
 
+const float DepthTest::depthBounds[DEPTH_BOUNDS_COUNT] =
+{
+       0.1f,
+       0.25f
+};
+
 DepthTest::DepthTest (tcu::TestContext&                testContext,
                                          const std::string&    name,
                                          const std::string&    description,
                                          const VkFormat                depthFormat,
-                                         const VkCompareOp             depthCompareOps[QUAD_COUNT])
+                                         const VkCompareOp             depthCompareOps[QUAD_COUNT],
+                                         const bool                    depthBoundsTestEnable)
        : vkt::TestCase (testContext, name, description)
-       , m_depthFormat (depthFormat)
+       , m_depthFormat                         (depthFormat)
+       , m_depthBoundsTestEnable       (depthBoundsTestEnable)
 {
        deMemcpy(m_depthCompareOps, depthCompareOps, sizeof(VkCompareOp) * QUAD_COUNT);
 }
@@ -193,7 +215,7 @@ DepthTest::~DepthTest (void)
 
 TestInstance* DepthTest::createInstance (Context& context) const
 {
-       return new DepthTestInstance(context, m_depthFormat, m_depthCompareOps);
+       return new DepthTestInstance(context, m_depthFormat, m_depthCompareOps, m_depthBoundsTestEnable);
 }
 
 void DepthTest::initPrograms (SourceCollections& programCollection) const
@@ -221,11 +243,13 @@ void DepthTest::initPrograms (SourceCollections& programCollection) const
 
 DepthTestInstance::DepthTestInstance (Context&                         context,
                                                                          const VkFormat                depthFormat,
-                                                                         const VkCompareOp             depthCompareOps[DepthTest::QUAD_COUNT])
-       : vkt::TestInstance     (context)
-       , m_renderSize          (32, 32)
-       , m_colorFormat         (VK_FORMAT_R8G8B8A8_UNORM)
-       , m_depthFormat         (depthFormat)
+                                                                         const VkCompareOp             depthCompareOps[DepthTest::QUAD_COUNT],
+                                                                         const bool                    depthBoundsTestEnable)
+       : vkt::TestInstance                     (context)
+       , m_renderSize                          (32, 32)
+       , m_colorFormat                         (VK_FORMAT_R8G8B8A8_UNORM)
+       , m_depthFormat                         (depthFormat)
+       , m_depthBoundsTestEnable       (depthBoundsTestEnable)
 {
        const DeviceInterface&          vk                                              = context.getDeviceInterface();
        const VkDevice                          vkDevice                                = context.getDevice();
@@ -233,6 +257,10 @@ DepthTestInstance::DepthTestInstance (Context&                             context,
        SimpleAllocator                         memAlloc                                (vk, vkDevice, getPhysicalDeviceMemoryProperties(context.getInstanceInterface(), context.getPhysicalDevice()));
        const VkComponentMapping        componentMappingRGBA    = { VK_COMPONENT_SWIZZLE_R, VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_A };
 
+       // Check depthBounds support
+       if (m_depthBoundsTestEnable && !context.getDeviceFeatures().depthBounds)
+               TCU_THROW(NotSupportedError, "depthBounds feature is not supported");
+
        // Copy depth operators
        deMemcpy(m_depthCompareOps, depthCompareOps, sizeof(VkCompareOp) * DepthTest::QUAD_COUNT);
 
@@ -608,7 +636,7 @@ DepthTestInstance::DepthTestInstance (Context&                              context,
                        true,                                                                                                           // VkBool32                                                                     depthTestEnable;
                        true,                                                                                                           // VkBool32                                                                     depthWriteEnable;
                        VK_COMPARE_OP_LESS,                                                                                     // VkCompareOp                                                          depthCompareOp;
-                       false,                                                                                                          // VkBool32                                                                     depthBoundsTestEnable;
+                       m_depthBoundsTestEnable,                                                                        // VkBool32                                                                     depthBoundsTestEnable;
                        false,                                                                                                          // VkBool32                                                                     stencilTestEnable;
                        // VkStencilOpState     front;
                        {
@@ -630,8 +658,8 @@ DepthTestInstance::DepthTestInstance (Context&                              context,
                                0u,                                             // deUint32             writeMask;
                                0u,                                             // deUint32             reference;
                        },
-                       0.0f,                                                                                                           // float                        minDepthBounds;
-                       1.0f,                                                                                                           // float                        maxDepthBounds;
+                       m_depthBoundsTestEnable ? DepthTest::depthBounds[DepthTest::DEPTH_BOUNDS_MIN] : 0.0f,   // float                        minDepthBounds;
+                       m_depthBoundsTestEnable ? DepthTest::depthBounds[DepthTest::DEPTH_BOUNDS_MAX] : 1.0f,   // float                        maxDepthBounds;
                };
 
                const VkGraphicsPipelineCreateInfo graphicsPipelineParams =
@@ -758,7 +786,8 @@ DepthTestInstance::DepthTestInstance (Context&                              context,
 
                VK_CHECK(vk.beginCommandBuffer(*m_cmdBuffer, &cmdBufferBeginInfo));
 
-               vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, (VkDependencyFlags)0,
+               vk.cmdPipelineBarrier(*m_cmdBuffer, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT |
+                       VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT, (VkDependencyFlags)0,
                        0u, DE_NULL, 0u, DE_NULL, DE_LENGTH_OF_ARRAY(imageLayoutBarriers), imageLayoutBarriers);
 
                vk.cmdBeginRenderPass(*m_cmdBuffer, &renderPassBeginInfo, VK_SUBPASS_CONTENTS_INLINE);
@@ -829,6 +858,12 @@ tcu::TestStatus DepthTestInstance::verifyImage (void)
                        rr::RenderState renderState(refRenderer.getViewportState());
                        renderState.fragOps.depthTestEnabled = true;
                        renderState.fragOps.depthFunc = mapVkCompareOp(m_depthCompareOps[quadNdx]);
+                       if (m_depthBoundsTestEnable)
+                       {
+                               renderState.fragOps.depthBoundsTestEnabled = true;
+                               renderState.fragOps.minDepthBound = DepthTest::depthBounds[DepthTest::DEPTH_BOUNDS_MIN];
+                               renderState.fragOps.maxDepthBound = DepthTest::depthBounds[DepthTest::DEPTH_BOUNDS_MAX];
+                       }
 
                        refRenderer.draw(renderState,
                                                         rr::PRIMITIVETYPE_TRIANGLES,
@@ -1051,6 +1086,13 @@ tcu::TestCaseGroup* createDepthTests (tcu::TestContext& testCtx)
                                                                                                                getCompareOpsDescription(depthOps[opsNdx]),
                                                                                                                depthFormats[formatNdx],
                                                                                                                depthOps[opsNdx]));
+
+                               compareOpsTests->addChild(new DepthTest(testCtx,
+                                                                                                               getCompareOpsName(depthOps[opsNdx]) + "_depth_bounds_test",
+                                                                                                               getCompareOpsDescription(depthOps[opsNdx]) + " with depth bounds test enabled",
+                                                                                                               depthFormats[formatNdx],
+                                                                                                               depthOps[opsNdx],
+                                                                                                               true));
                        }
                        formatTest->addChild(compareOpsTests.release());
                        formatTests->addChild(formatTest.release());
index 0bc6922..1ba7327 100644 (file)
@@ -302,7 +302,7 @@ de::MovePtr<tcu::TextureLevel> readColorAttachment (const vk::DeviceInterface&      v
        VK_CHECK(vk.beginCommandBuffer(*cmdBuffer, &cmdBufferBeginInfo));
        vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 0, (const VkBufferMemoryBarrier*)DE_NULL, 1, &imageBarrier);
        vk.cmdCopyImageToBuffer(*cmdBuffer, image, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, *buffer, 1, &copyRegion);
-       vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &bufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL);
+       vk.cmdPipelineBarrier(*cmdBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_HOST_BIT, (VkDependencyFlags)0, 0, (const VkMemoryBarrier*)DE_NULL, 1, &bufferBarrier, 0, (const VkImageMemoryBarrier*)DE_NULL);
        VK_CHECK(vk.endCommandBuffer(*cmdBuffer));
 
        const VkSubmitInfo submitInfo =
index bd677b6..120ca58 100644 (file)
@@ -81151,7 +81151,7 @@ dEQP-VK.dynamic_state.rs_state.depth_bias
 dEQP-VK.dynamic_state.rs_state.depth_bias_clamp
 dEQP-VK.dynamic_state.rs_state.line_width
 dEQP-VK.dynamic_state.cb_state.blend_constants
-dEQP-VK.dynamic_state.ds_state.depth_bounds
+dEQP-VK.dynamic_state.ds_state.depth_bounds_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_2
 dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
index bd677b6..120ca58 100644 (file)
@@ -81151,7 +81151,7 @@ dEQP-VK.dynamic_state.rs_state.depth_bias
 dEQP-VK.dynamic_state.rs_state.depth_bias_clamp
 dEQP-VK.dynamic_state.rs_state.line_width
 dEQP-VK.dynamic_state.cb_state.blend_constants
-dEQP-VK.dynamic_state.ds_state.depth_bounds
+dEQP-VK.dynamic_state.ds_state.depth_bounds_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_2
 dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
index a9f82dd..d04afc1 100644 (file)
@@ -95208,7 +95208,7 @@ dEQP-VK.dynamic_state.rs_state.depth_bias
 dEQP-VK.dynamic_state.rs_state.depth_bias_clamp
 dEQP-VK.dynamic_state.rs_state.line_width
 dEQP-VK.dynamic_state.cb_state.blend_constants
-dEQP-VK.dynamic_state.ds_state.depth_bounds
+dEQP-VK.dynamic_state.ds_state.depth_bounds_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_2
 dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
index a9f82dd..d04afc1 100644 (file)
@@ -95208,7 +95208,7 @@ dEQP-VK.dynamic_state.rs_state.depth_bias
 dEQP-VK.dynamic_state.rs_state.depth_bias_clamp
 dEQP-VK.dynamic_state.rs_state.line_width
 dEQP-VK.dynamic_state.cb_state.blend_constants
-dEQP-VK.dynamic_state.ds_state.depth_bounds
+dEQP-VK.dynamic_state.ds_state.depth_bounds_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_2
 dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
index c5c597d..6032905 100644 (file)
@@ -171346,7 +171346,7 @@ dEQP-VK.dynamic_state.rs_state.depth_bias
 dEQP-VK.dynamic_state.rs_state.depth_bias_clamp
 dEQP-VK.dynamic_state.rs_state.line_width
 dEQP-VK.dynamic_state.cb_state.blend_constants
-dEQP-VK.dynamic_state.ds_state.depth_bounds
+dEQP-VK.dynamic_state.ds_state.depth_bounds_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_2
 dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
index c5c597d..6032905 100644 (file)
@@ -171346,7 +171346,7 @@ dEQP-VK.dynamic_state.rs_state.depth_bias
 dEQP-VK.dynamic_state.rs_state.depth_bias_clamp
 dEQP-VK.dynamic_state.rs_state.line_width
 dEQP-VK.dynamic_state.cb_state.blend_constants
-dEQP-VK.dynamic_state.ds_state.depth_bounds
+dEQP-VK.dynamic_state.ds_state.depth_bounds_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_2
 dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
index 0f5e5b7..ff31551 100644 (file)
@@ -93658,449 +93658,893 @@ dEQP-VK.pipeline.depth.format_features.support_d16_unorm
 dEQP-VK.pipeline.depth.format_features.support_d24_unorm_or_d32_sfloat
 dEQP-VK.pipeline.depth.format_features.support_d24_unorm_s8_uint_or_d32_sfloat_s8_uint
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_not_equal_not_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_not_equal_not_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_equal_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_equal_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_greater_greater_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_greater_greater_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_less_or_equal_less_or_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_less_or_equal_less_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_less_less_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_less_less_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_never_never_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_never_never_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_not_equal_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_not_equal_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_equal_not_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_equal_not_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_greater_greater_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_greater_greater_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_greater_or_equal_greater_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_greater_or_equal_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_less_or_equal_less_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_less_or_equal_less_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_always_always_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_always_always_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_less_never_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_less_never_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_never_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_never_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_not_equal_greater_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_not_equal_greater_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_equal_greater_or_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_equal_greater_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_greater_not_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_greater_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_greater_or_equal_less_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_greater_or_equal_less_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_less_or_equal_never_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_less_or_equal_never_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_less_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_less_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_never_always_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_never_always_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_equal_greater_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_equal_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_greater_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_greater_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_less_or_equal_always_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_less_or_equal_always_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_less_less_or_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_less_less_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_always_less_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_always_less_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_equal_less_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_equal_less_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_greater_never_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_greater_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_greater_or_equal_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_greater_or_equal_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_less_not_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_less_not_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_not_equal_less_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_not_equal_less_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_equal_never_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_equal_never_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_greater_less_or_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_greater_less_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_less_or_equal_greater_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_less_or_equal_greater_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_less_always_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_less_always_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_never_not_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_never_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_not_equal_always_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_not_equal_always_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_always_greater_or_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_always_greater_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_greater_or_equal_never_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_greater_or_equal_never_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_never_less_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_never_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_less_or_equal_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_less_or_equal_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_less_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_less_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_always_greater_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_always_greater_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_equal_always_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_never_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_never_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_greater_less_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_greater_less_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_always_never_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_always_never_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_less_or_equal_not_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_less_or_equal_not_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_never_greater_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_never_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_equal_less_or_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_equal_less_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_greater_or_equal_always_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_greater_or_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_always_less_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_always_less_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_never_greater_or_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_never_greater_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_always_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.equal_always_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_greater_always_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_greater_always_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_not_equal_not_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_not_equal_not_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_less_greater_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_less_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_not_equal_never_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_not_equal_never_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_always_not_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_always_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_always_less_or_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_or_equal_always_less_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_greater_or_equal_less_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_greater_or_equal_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_equal_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_equal_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_greater_or_equal_never_less
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_greater_or_equal_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_never_greater_never
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.greater_or_equal_never_greater_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_greater_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.less_greater_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_greater_always_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.never_greater_always_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_not_equal_greater_always
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_not_equal_greater_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_less_or_equal_not_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm.compare_ops.not_equal_less_or_equal_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_not_equal_not_equal_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_not_equal_not_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_equal_equal_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_equal_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_greater_greater_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_greater_greater_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_less_or_equal_less_or_equal_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_less_or_equal_less_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_less_less_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_less_less_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_never_never_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_never_never_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_not_equal_equal_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_not_equal_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_equal_not_equal_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_equal_not_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_greater_greater_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_greater_greater_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_greater_or_equal_greater_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_greater_or_equal_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_less_or_equal_less_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_less_or_equal_less_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_always_always_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_always_always_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_less_never_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_less_never_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_never_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_never_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_not_equal_greater_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_not_equal_greater_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_equal_greater_or_equal_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_equal_greater_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_greater_not_equal_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_greater_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_greater_or_equal_less_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_greater_or_equal_less_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_less_or_equal_never_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_less_or_equal_never_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_less_equal_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_less_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_never_always_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_never_always_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_equal_greater_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_equal_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_greater_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_greater_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_less_or_equal_always_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_less_or_equal_always_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_less_less_or_equal_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_less_less_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_always_less_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_always_less_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_equal_less_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_equal_less_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_greater_never_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_greater_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_greater_or_equal_equal_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_greater_or_equal_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_less_not_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_less_not_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_not_equal_less_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_not_equal_less_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_equal_never_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_equal_never_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_greater_less_or_equal_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_greater_less_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_less_or_equal_greater_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_less_or_equal_greater_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_less_always_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_less_always_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_never_not_equal_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_never_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_not_equal_always_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_not_equal_always_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_always_greater_or_equal_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_always_greater_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_greater_or_equal_never_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_greater_or_equal_never_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_never_less_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_never_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_less_or_equal_equal_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_less_or_equal_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_less_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_less_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_always_greater_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_always_greater_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_equal_always_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_never_equal_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_never_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_greater_less_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_greater_less_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_always_never_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_always_never_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_less_or_equal_not_equal_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_less_or_equal_not_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_never_greater_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_never_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_equal_less_or_equal_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_equal_less_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_greater_or_equal_always_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_greater_or_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_always_less_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_always_less_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_never_greater_or_equal_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_never_greater_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_always_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.equal_always_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_greater_always_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_greater_always_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_not_equal_not_equal_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_not_equal_not_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_less_greater_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_less_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_not_equal_never_not_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_not_equal_never_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_always_not_equal_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_always_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_always_less_or_equal_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_or_equal_always_less_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_greater_or_equal_less_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_greater_or_equal_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_equal_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_equal_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_greater_or_equal_never_less
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_greater_or_equal_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_never_greater_never
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.greater_or_equal_never_greater_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_greater_equal_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.less_greater_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_greater_always_greater_or_equal
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.never_greater_always_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_not_equal_greater_always
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_not_equal_greater_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_less_or_equal_not_equal_greater
+dEQP-VK.pipeline.depth.format.x8_d24_unorm_pack32.compare_ops.not_equal_less_or_equal_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_not_equal_not_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_not_equal_not_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_equal_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_equal_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_greater_greater_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_greater_greater_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_less_or_equal_less_or_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_less_or_equal_less_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_less_less_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_less_less_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_never_never_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_never_never_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_not_equal_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_not_equal_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_equal_not_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_equal_not_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_greater_greater_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_greater_greater_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_greater_or_equal_greater_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_greater_or_equal_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_less_or_equal_less_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_less_or_equal_less_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_always_always_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_always_always_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_less_never_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_less_never_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_never_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_never_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_not_equal_greater_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_not_equal_greater_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_equal_greater_or_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_equal_greater_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_greater_not_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_greater_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_greater_or_equal_less_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_greater_or_equal_less_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_less_or_equal_never_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_less_or_equal_never_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_less_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_less_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_never_always_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_never_always_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_equal_greater_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_equal_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_greater_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_greater_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_less_or_equal_always_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_less_or_equal_always_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_less_less_or_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_less_less_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_always_less_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_always_less_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_equal_less_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_equal_less_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_greater_never_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_greater_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_greater_or_equal_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_greater_or_equal_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_less_not_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_less_not_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_not_equal_less_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_not_equal_less_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_equal_never_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_equal_never_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_greater_less_or_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_greater_less_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_less_or_equal_greater_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_less_or_equal_greater_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_less_always_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_less_always_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_never_not_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_never_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_not_equal_always_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_not_equal_always_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_always_greater_or_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_always_greater_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_greater_or_equal_never_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_greater_or_equal_never_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_never_less_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_never_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_less_or_equal_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_less_or_equal_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_less_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_less_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_always_greater_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_always_greater_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_equal_always_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_never_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_never_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_greater_less_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_greater_less_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_always_never_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_always_never_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_less_or_equal_not_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_less_or_equal_not_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_never_greater_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_never_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_equal_less_or_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_equal_less_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_greater_or_equal_always_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_greater_or_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_always_less_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_always_less_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_never_greater_or_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_never_greater_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_always_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.equal_always_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_greater_always_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_greater_always_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_not_equal_not_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_not_equal_not_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_less_greater_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_less_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_not_equal_never_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_not_equal_never_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_always_not_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_always_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_always_less_or_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_or_equal_always_less_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_greater_or_equal_less_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_greater_or_equal_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_equal_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_equal_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_greater_or_equal_never_less
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_greater_or_equal_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_never_greater_never
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.greater_or_equal_never_greater_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_greater_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.less_greater_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_greater_always_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.never_greater_always_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_not_equal_greater_always
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_not_equal_greater_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_less_or_equal_not_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat.compare_ops.not_equal_less_or_equal_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_not_equal_not_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_not_equal_not_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_equal_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_equal_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_greater_greater_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_greater_greater_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_less_or_equal_less_or_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_less_or_equal_less_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_less_less_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_less_less_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_never_never_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_never_never_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_not_equal_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_not_equal_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_equal_not_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_equal_not_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_greater_greater_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_greater_greater_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_greater_or_equal_greater_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_greater_or_equal_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_less_or_equal_less_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_less_or_equal_less_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_always_always_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_always_always_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_less_never_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_less_never_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_never_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_never_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_not_equal_greater_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_not_equal_greater_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_equal_greater_or_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_equal_greater_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_greater_not_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_greater_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_greater_or_equal_less_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_greater_or_equal_less_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_less_or_equal_never_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_less_or_equal_never_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_less_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_less_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_never_always_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_never_always_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_equal_greater_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_equal_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_greater_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_greater_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_less_or_equal_always_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_less_or_equal_always_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_less_less_or_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_less_less_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_always_less_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_always_less_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_equal_less_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_equal_less_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_greater_never_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_greater_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_greater_or_equal_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_greater_or_equal_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_less_not_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_less_not_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_not_equal_less_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_not_equal_less_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_equal_never_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_equal_never_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_greater_less_or_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_greater_less_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_less_or_equal_greater_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_less_or_equal_greater_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_less_always_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_less_always_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_never_not_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_never_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_not_equal_always_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_not_equal_always_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_always_greater_or_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_always_greater_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_greater_or_equal_never_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_greater_or_equal_never_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_never_less_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_never_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_less_or_equal_equal_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_less_or_equal_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_less_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_less_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_always_greater_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_always_greater_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_equal_always_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_never_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_never_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_greater_less_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_greater_less_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_always_never_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_always_never_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_less_or_equal_not_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_less_or_equal_not_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_never_greater_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_never_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_equal_less_or_equal_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_equal_less_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_greater_or_equal_always_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_greater_or_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_always_less_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_always_less_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_never_greater_or_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_never_greater_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_always_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.equal_always_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_greater_always_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_greater_always_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_not_equal_not_equal_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_not_equal_not_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_less_greater_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_less_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_not_equal_never_not_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_not_equal_never_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_always_not_equal_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_always_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_always_less_or_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_or_equal_always_less_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_greater_or_equal_less_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_greater_or_equal_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_equal_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_equal_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_never_less
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_never_greater_never
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.greater_or_equal_never_greater_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_greater_equal_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.less_greater_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_greater_always_greater_or_equal
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.never_greater_always_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_not_equal_greater_always
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_not_equal_greater_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_less_or_equal_not_equal_greater
+dEQP-VK.pipeline.depth.format.d16_unorm_s8_uint.compare_ops.not_equal_less_or_equal_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_not_equal_not_equal_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_not_equal_not_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_equal_equal_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_equal_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_greater_greater_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_greater_greater_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_less_or_equal_less_or_equal_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_less_or_equal_less_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_less_less_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_less_less_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_never_never_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_never_never_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_not_equal_equal_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_not_equal_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_equal_not_equal_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_equal_not_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_greater_greater_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_greater_greater_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_greater_or_equal_greater_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_greater_or_equal_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_less_or_equal_less_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_less_or_equal_less_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_always_always_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_always_always_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_less_never_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_less_never_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_never_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_never_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_not_equal_greater_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_not_equal_greater_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_equal_greater_or_equal_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_equal_greater_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_greater_not_equal_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_greater_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_greater_or_equal_less_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_greater_or_equal_less_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_less_or_equal_never_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_less_or_equal_never_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_less_equal_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_less_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_never_always_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_never_always_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_equal_greater_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_equal_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_greater_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_greater_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_less_or_equal_always_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_less_or_equal_always_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_less_less_or_equal_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_less_less_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_always_less_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_always_less_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_equal_less_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_equal_less_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_greater_never_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_greater_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_greater_or_equal_equal_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_greater_or_equal_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_less_not_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_less_not_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_not_equal_less_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_not_equal_less_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_equal_never_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_equal_never_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_greater_less_or_equal_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_greater_less_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_less_or_equal_greater_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_less_or_equal_greater_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_less_always_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_less_always_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_never_not_equal_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_never_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_not_equal_always_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_not_equal_always_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_always_greater_or_equal_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_always_greater_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_greater_or_equal_never_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_greater_or_equal_never_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_never_less_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_never_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_less_or_equal_equal_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_less_or_equal_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_less_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_less_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_always_greater_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_always_greater_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_equal_always_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_never_equal_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_never_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_greater_less_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_greater_less_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_always_never_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_always_never_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_less_or_equal_not_equal_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_less_or_equal_not_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_never_greater_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_never_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_equal_less_or_equal_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_equal_less_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_greater_or_equal_always_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_greater_or_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_always_less_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_always_less_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_never_greater_or_equal_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_never_greater_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_always_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.equal_always_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_greater_always_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_greater_always_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_not_equal_not_equal_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_not_equal_not_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_less_greater_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_less_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_not_equal_never_not_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_not_equal_never_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_always_not_equal_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_always_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_always_less_or_equal_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_or_equal_always_less_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_greater_or_equal_less_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_greater_or_equal_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_equal_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_equal_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_never_less
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_greater_or_equal_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_never_greater_never
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.greater_or_equal_never_greater_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_greater_equal_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.less_greater_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_greater_always_greater_or_equal
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.never_greater_always_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_not_equal_greater_always
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_not_equal_greater_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_less_or_equal_not_equal_greater
+dEQP-VK.pipeline.depth.format.d24_unorm_s8_uint.compare_ops.not_equal_less_or_equal_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_not_equal_not_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_not_equal_not_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_equal_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_equal_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_greater_greater_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_greater_greater_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_greater_or_equal_greater_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_less_or_equal_less_or_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_less_or_equal_less_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_less_less_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_less_less_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_never_never_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_never_never_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_not_equal_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_not_equal_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_equal_not_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_equal_not_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_greater_greater_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_greater_greater_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_greater_or_equal_greater_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_greater_or_equal_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_less_or_equal_less_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_less_or_equal_less_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_always_always_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_always_always_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_less_never_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_less_never_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_never_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_never_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_not_equal_greater_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_not_equal_greater_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_equal_greater_or_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_equal_greater_or_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_greater_not_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_greater_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_greater_or_equal_less_or_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_greater_or_equal_less_or_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_less_or_equal_never_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_less_or_equal_never_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_less_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_less_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_not_equal_greater_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_never_always_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_never_always_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_equal_greater_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_equal_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_greater_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_greater_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_greater_or_equal_not_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_less_or_equal_always_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_less_or_equal_always_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_less_less_or_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_less_less_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_always_less_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_always_less_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_not_equal_less_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_equal_less_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_equal_less_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_greater_never_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_greater_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_greater_or_equal_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_greater_or_equal_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_less_not_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_less_not_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_less_or_equal_greater_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_not_equal_less_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_not_equal_less_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_equal_never_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_equal_never_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_greater_less_or_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_greater_less_or_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_less_or_equal_greater_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_less_or_equal_greater_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_less_always_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_less_always_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_never_not_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_never_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_not_equal_always_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_not_equal_always_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_always_greater_or_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_always_greater_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_greater_or_equal_never_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_greater_or_equal_never_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_never_less_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_never_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_less_or_equal_equal_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_less_or_equal_equal_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_less_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_less_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_always_greater_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_always_greater_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_equal_always_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_never_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_never_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_greater_less_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_greater_less_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_always_never_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_always_never_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_less_or_equal_not_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_less_or_equal_not_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_never_greater_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_never_greater_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_equal_less_or_equal_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_equal_less_or_equal_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_greater_or_equal_always_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_greater_or_equal_always_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_always_less_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_always_less_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_never_greater_or_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_never_greater_or_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_always_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.equal_always_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_greater_always_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_greater_always_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_not_equal_not_equal_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_not_equal_not_equal_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_less_greater_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_less_greater_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_not_equal_never_not_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_not_equal_never_not_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_always_not_equal_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_always_not_equal_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_always_less_or_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_or_equal_always_less_or_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_greater_or_equal_less_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_greater_or_equal_less_greater_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_equal_less_or_equal_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_equal_less_or_equal_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.always_greater_or_equal_greater_or_equal_less_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_greater_or_equal_never_less
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_greater_or_equal_never_less_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_never_greater_never
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.greater_or_equal_never_greater_never_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_greater_equal_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.less_greater_equal_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_greater_always_greater_or_equal
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.never_greater_always_greater_or_equal_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_not_equal_greater_always
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_not_equal_greater_always_depth_bounds_test
 dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_less_or_equal_not_equal_greater
+dEQP-VK.pipeline.depth.format.d32_sfloat_s8_uint.compare_ops.not_equal_less_or_equal_not_equal_greater_depth_bounds_test
 dEQP-VK.pipeline.image.suballocation.sampling_type.combined.view_type.1d.format.r4g4_unorm_pack8.count_1.size.1x1
 dEQP-VK.pipeline.image.suballocation.sampling_type.combined.view_type.1d.format.r4g4_unorm_pack8.count_1.size.2x1
 dEQP-VK.pipeline.image.suballocation.sampling_type.combined.view_type.1d.format.r4g4_unorm_pack8.count_1.size.32x1
@@ -202631,7 +203075,8 @@ dEQP-VK.dynamic_state.rs_state.depth_bias
 dEQP-VK.dynamic_state.rs_state.depth_bias_clamp
 dEQP-VK.dynamic_state.rs_state.line_width
 dEQP-VK.dynamic_state.cb_state.blend_constants
-dEQP-VK.dynamic_state.ds_state.depth_bounds
+dEQP-VK.dynamic_state.ds_state.depth_bounds_1
+dEQP-VK.dynamic_state.ds_state.depth_bounds_2
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_1
 dEQP-VK.dynamic_state.ds_state.stencil_params_basic_2
 dEQP-VK.dynamic_state.ds_state.stencil_params_advanced
index d0fb3c3..749b652 100644 (file)
@@ -162,6 +162,60 @@ void FragmentProcessor::executeStencilSFail (int fragNdxOffset, int numSamplesPe
 #undef SAMPLE_REGISTER_SFAIL
 }
 
+
+void FragmentProcessor::executeDepthBoundsTest (int fragNdxOffset, int numSamplesPerFragment, const Fragment* inputFragments, const float minDepthBound, const float maxDepthBound, const tcu::ConstPixelBufferAccess& depthBuffer)
+{
+       if (depthBuffer.getFormat().type == tcu::TextureFormat::FLOAT || depthBuffer.getFormat().type == tcu::TextureFormat::FLOAT_UNSIGNED_INT_24_8_REV)
+       {
+               for (int regSampleNdx = 0; regSampleNdx < SAMPLE_REGISTER_SIZE; ++regSampleNdx)
+               {
+                       if (m_sampleRegister[regSampleNdx].isAlive)
+                       {
+                               const int                       fragSampleNdx           = regSampleNdx % numSamplesPerFragment;
+                               const Fragment&         frag                            = inputFragments[fragNdxOffset + regSampleNdx/numSamplesPerFragment];
+                               const float                     depthBufferValue        = depthBuffer.getPixDepth(fragSampleNdx, frag.pixelCoord.x(), frag.pixelCoord.y());
+
+                               if (!de::inRange(depthBufferValue, minDepthBound, maxDepthBound))
+                                       m_sampleRegister[regSampleNdx].isAlive = false;
+                       }
+               }
+       }
+       else
+       {
+               /* Convert float bounds to target buffer format for comparison */
+
+               deUint32 minDepthBoundUint, maxDepthBoundUint;
+               {
+                       deUint32 buffer[2];
+                       DE_ASSERT(sizeof(buffer) >= (size_t)depthBuffer.getFormat().getPixelSize());
+
+                       tcu::PixelBufferAccess access(depthBuffer.getFormat(), 1, 1, 1, &buffer);
+                       access.setPixDepth(minDepthBound, 0, 0, 0);
+                       minDepthBoundUint = access.getPixelUint(0, 0, 0).x();
+               }
+               {
+                       deUint32 buffer[2];
+
+                       tcu::PixelBufferAccess access(depthBuffer.getFormat(), 1, 1, 1, &buffer);
+                       access.setPixDepth(maxDepthBound, 0, 0, 0);
+                       maxDepthBoundUint = access.getPixelUint(0, 0, 0).x();
+               }
+
+               for (int regSampleNdx = 0; regSampleNdx < SAMPLE_REGISTER_SIZE; ++regSampleNdx)
+               {
+                       if (m_sampleRegister[regSampleNdx].isAlive)
+                       {
+                               const int                       fragSampleNdx           = regSampleNdx % numSamplesPerFragment;
+                               const Fragment&         frag                            = inputFragments[fragNdxOffset + regSampleNdx / numSamplesPerFragment];
+                               const deUint32          depthBufferValue        = depthBuffer.getPixelUint(fragSampleNdx, frag.pixelCoord.x(), frag.pixelCoord.y()).x();
+
+                               if (!de::inRange(depthBufferValue, minDepthBoundUint, maxDepthBoundUint))
+                                       m_sampleRegister[regSampleNdx].isAlive = false;
+                       }
+               }
+       }
+}
+
 void FragmentProcessor::executeDepthCompare (int fragNdxOffset, int numSamplesPerFragment, const Fragment* inputFragments, TestFunc depthFunc, const tcu::ConstPixelBufferAccess& depthBuffer)
 {
 #define SAMPLE_REGISTER_DEPTH_COMPARE_F(COMPARE_EXPRESSION)                                                                                                                                                                            \
@@ -754,8 +808,9 @@ void FragmentProcessor::render (const rr::MultisamplePixelBufferAccess&             msColor
 
        bool                                                    hasDepth                        = depthBuffer.getWidth() > 0    && depthBuffer.getHeight() > 0          && depthBuffer.getDepth() > 0;
        bool                                                    hasStencil                      = stencilBuffer.getWidth() > 0  && stencilBuffer.getHeight() > 0        && stencilBuffer.getDepth() > 0;
-       bool                                                    doDepthTest                     = hasDepth && state.depthTestEnabled;
-       bool                                                    doStencilTest           = hasStencil && state.stencilTestEnabled;
+       bool                                                    doDepthBoundsTest       = hasDepth              && state.depthBoundsTestEnabled;
+       bool                                                    doDepthTest                     = hasDepth              && state.depthTestEnabled;
+       bool                                                    doStencilTest           = hasStencil    && state.stencilTestEnabled;
 
        tcu::TextureChannelClass                colorbufferClass        = tcu::getTextureChannelClass(msColorBuffer.raw().getFormat().type);
        rr::GenericVecType                              fragmentDataType        = (colorbufferClass == tcu::TEXTURECHANNELCLASS_SIGNED_INTEGER) ? (rr::GENERICVECTYPE_INT32) : ((colorbufferClass == tcu::TEXTURECHANNELCLASS_UNSIGNED_INTEGER) ? (rr::GENERICVECTYPE_UINT32) : (rr::GENERICVECTYPE_FLOAT));
@@ -807,6 +862,11 @@ void FragmentProcessor::render (const rr::MultisamplePixelBufferAccess&            msColor
                if (state.scissorTestEnabled)
                        executeScissorTest(groupFirstFragNdx, numSamplesPerFragment, inputFragments, state.scissorRectangle);
 
+               // Depth bounds test.
+
+               if (doDepthBoundsTest)
+                       executeDepthBoundsTest(groupFirstFragNdx, numSamplesPerFragment, inputFragments, state.minDepthBound, state.maxDepthBound, depthBuffer);
+
                // Stencil test.
 
                if (doStencilTest)
index bd4315a..a51018e 100644 (file)
@@ -134,6 +134,7 @@ private:
        void            executeScissorTest                              (int fragNdxOffset, int numSamplesPerFragment, const Fragment* inputFragments, const WindowRectangle& scissorRect);
        void            executeStencilCompare                   (int fragNdxOffset, int numSamplesPerFragment, const Fragment* inputFragments, const StencilState& stencilState, int numStencilBits, const tcu::ConstPixelBufferAccess& stencilBuffer);
        void            executeStencilSFail                             (int fragNdxOffset, int numSamplesPerFragment, const Fragment* inputFragments, const StencilState& stencilState, int numStencilBits, const tcu::PixelBufferAccess& stencilBuffer);
+       void            executeDepthBoundsTest                  (int fragNdxOffset, int numSamplesPerFragment, const Fragment* inputFragments, const float minDepthBound, const float maxDepthBound, const tcu::ConstPixelBufferAccess& depthBuffer);
        void            executeDepthCompare                             (int fragNdxOffset, int numSamplesPerFragment, const Fragment* inputFragments, TestFunc depthFunc, const tcu::ConstPixelBufferAccess& depthBuffer);
        void            executeDepthWrite                               (int fragNdxOffset, int numSamplesPerFragment, const Fragment* inputFragments, const tcu::PixelBufferAccess& depthBuffer);
        void            executeStencilDpFailAndPass             (int fragNdxOffset, int numSamplesPerFragment, const Fragment* inputFragments, const StencilState& stencilState, int numStencilBits, const tcu::PixelBufferAccess& stencilBuffer);
index 315225e..c63f682 100644 (file)
@@ -248,6 +248,10 @@ struct FragmentOperationState
        TestFunc                                        depthFunc;
        bool                                            depthMask;
 
+       bool                                            depthBoundsTestEnabled;
+       float                                           minDepthBound;
+       float                                           maxDepthBound;
+
        BlendMode                                       blendMode;
 
        // Standard blending state
@@ -282,6 +286,10 @@ struct FragmentOperationState
                , depthFunc                             (TESTFUNC_LESS)
                , depthMask                             (true)
 
+               , depthBoundsTestEnabled(false)
+               , minDepthBound                 (0.0f)
+               , maxDepthBound                 (1.0f)
+
                , blendMode                             (BLENDMODE_NONE)
                , blendRGBState                 ()
                , blendAState                   ()