Skip the "two_draw" variants of zero_stride_with_offset tests
authorShih-hsin Li <seasonl@nvidia.com>
Mon, 17 Jan 2022 04:33:09 +0000 (04:33 +0000)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Sat, 22 Jan 2022 18:13:22 +0000 (18:13 +0000)
There's only one vertex in vertex array for singleVertex config.
Non-zero stride can cause out of bound memory access error since
vkd.cmdDraw draws 6(singleVertexDrawCount) vertices in singleVertex
config.

Affects:
dEQP-VK.pipeline.extended_dynamic_state.*.zero_stride_with_offset

Components: Vulkan

VK-GL-CTS issue: 3463

Change-Id: I77baa395c40f74f518bc9c7e8daf32c87686868a

android/cts/master/vk-master-2021-03-01/pipeline.txt
android/cts/master/vk-master/pipeline.txt
external/vulkancts/modules/vulkan/pipeline/vktPipelineExtendedDynamicStateTests.cpp
external/vulkancts/mustpass/master/vk-default/pipeline.txt

index a68b3ab..faed223 100644 (file)
@@ -67751,7 +67751,6 @@ dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.stride_with_offset_and
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.large_stride
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.large_stride_with_offset
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.large_stride_with_offset_and_padding
-dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.zero_stride_with_offset
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.depth_test_enable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.depth_test_disable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.depth_write_enable
@@ -69139,7 +69138,6 @@ dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.2_scissors_switch_clean
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.stride
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.stride_with_offset
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.stride_with_offset_and_padding
-dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.zero_stride_with_offset
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.depth_test_enable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.depth_test_disable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.depth_write_enable
index 875d754..82bc5d4 100644 (file)
@@ -204627,7 +204627,6 @@ dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.stride_with_offset_and
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.large_stride
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.large_stride_with_offset
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.large_stride_with_offset_and_padding
-dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.zero_stride_with_offset
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.depth_test_enable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.depth_test_disable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.depth_write_enable
@@ -206015,7 +206014,6 @@ dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.2_scissors_switch_clean
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.stride
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.stride_with_offset
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.stride_with_offset_and_padding
-dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.zero_stride_with_offset
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.depth_test_enable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.depth_test_disable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.depth_write_enable
index af930e0..faf5aaa 100644 (file)
@@ -2904,6 +2904,10 @@ tcu::TestCaseGroup* createExtendedDynamicStateTests (tcu::TestContext& testCtx)
                        }
 
                        // Dynamic stride of 0
+                       //
+                       // The "two_draws" variants are invalid because the non-zero vertex stride will cause out-of-bounds access
+                       // when drawing more than one vertex.
+                       if (kOrdering != SequenceOrdering::TWO_DRAWS_STATIC && kOrdering != SequenceOrdering::TWO_DRAWS_DYNAMIC)
                        {
                                TestConfig config(kOrdering, getVertexWithExtraAttributesGenerator());
                                config.strideConfig.staticValue         = config.getActiveVertexGenerator()->getVertexDataStrides();
index 65737f5..477bcfa 100644 (file)
@@ -204668,7 +204668,6 @@ dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.stride_with_offset_and
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.large_stride
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.large_stride_with_offset
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.large_stride_with_offset_and_padding
-dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.zero_stride_with_offset
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.depth_test_enable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.depth_test_disable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_dynamic.depth_write_enable
@@ -206056,7 +206055,6 @@ dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.2_scissors_switch_clean
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.stride
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.stride_with_offset
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.stride_with_offset_and_padding
-dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.zero_stride_with_offset
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.depth_test_enable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.depth_test_disable
 dEQP-VK.pipeline.extended_dynamic_state.two_draws_static.depth_write_enable