diff options
Diffstat (limited to 'tests/layer_validation_tests.cpp')
-rw-r--r-- | tests/layer_validation_tests.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp index debcb37e..c28c4a40 100644 --- a/tests/layer_validation_tests.cpp +++ b/tests/layer_validation_tests.cpp @@ -9494,10 +9494,15 @@ TEST_F(VkLayerTest, InvalidBarriers) { vkDestroyCommandPool(m_device->device(), command_pool, NULL); } -TEST_F(VkLayerTest, LayoutFromPresentWithoutAccessMemoryRead) { - // Transition an image away from PRESENT_SRC_KHR without ACCESS_MEMORY_READ in srcAccessMask +TEST_F(VkPositiveLayerTest, LayoutFromPresentWithoutAccessMemoryRead) { + // Transition an image away from PRESENT_SRC_KHR without ACCESS_MEMORY_READ + // in srcAccessMask. - m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_WARNING_BIT_EXT, "must have required access bit"); + // The required behavior here was a bit unclear in earlier versions of the + // spec, but there is no memory dependency required here, so this should + // work without warnings. + + m_errorMonitor->ExpectSuccess(); ASSERT_NO_FATAL_FAILURE(Init()); VkImageObj image(m_device); image.Init(128, 128, 1, VK_FORMAT_B8G8R8A8_UNORM, (VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT), @@ -9507,9 +9512,8 @@ TEST_F(VkLayerTest, LayoutFromPresentWithoutAccessMemoryRead) { VkImageMemoryBarrier barrier = {}; VkImageSubresourceRange range; barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; - barrier.srcAccessMask = 0; barrier.srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; - barrier.dstAccessMask = VK_ACCESS_MEMORY_READ_BIT; + barrier.dstAccessMask = 0; barrier.oldLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; barrier.newLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR; barrier.image = image.handle(); @@ -9530,7 +9534,7 @@ TEST_F(VkLayerTest, LayoutFromPresentWithoutAccessMemoryRead) { cmdbuf.PipelineBarrier(VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 0, 0, nullptr, 0, nullptr, 1, &barrier); - m_errorMonitor->VerifyFound(); + m_errorMonitor->VerifyNotFound(); } TEST_F(VkLayerTest, IdxBufferAlignmentError) { |