tests: Add level/layerCount check testing GH-909
Add tests to exercise new Valid Usage checks. See GH-909
Change-Id: I2f031ce64a40968f08d0baa539c38305071b2138
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index bac4c3e..ae879eb 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -8411,6 +8411,22 @@
m_errorMonitor->VerifyFound();
img_barrier.subresourceRange.baseMipLevel = 0;
+ // levelCount must be non-zero.
+ m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, VALIDATION_ERROR_00768);
+ img_barrier.subresourceRange.levelCount = 0;
+ vkCmdPipelineBarrier(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, 0, 0,
+ nullptr, 0, nullptr, 1, &img_barrier);
+ m_errorMonitor->VerifyFound();
+ img_barrier.subresourceRange.levelCount = 1;
+
+ // layerCount must be non-zero.
+ m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, VALIDATION_ERROR_00769);
+ img_barrier.subresourceRange.layerCount = 0;
+ vkCmdPipelineBarrier(m_commandBuffer->GetBufferHandle(), VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT, 0, 0,
+ nullptr, 0, nullptr, 1, &img_barrier);
+ m_errorMonitor->VerifyFound();
+ img_barrier.subresourceRange.layerCount = 1;
+
m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Buffer Barriers cannot be used during a render pass");
vk_testing::Buffer buffer;
VkMemoryPropertyFlags mem_reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;