Fix access mask in pipeline barriers in ray tracing tests
authorziga-lunarg <ziga@lunarg.com>
Sun, 5 Mar 2023 22:05:53 +0000 (23:05 +0100)
committerPiotr Byszewski <piotr.byszewski@mobica.com>
Thu, 16 Mar 2023 16:45:53 +0000 (16:45 +0000)
The dstAccessMask of pMemoryBarriers must only include access flags that
are supported by the pipeline stages in dstStageMask

Components: Vulkan

VK-GL-CTS issue: 4319

Affected tests:
dEQP-VK.ray_tracing_pipeline.large_shader_set.*

Change-Id: I633404e9fccd5651ddf4d838961bddd7cc60c32f

external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingBuildLargeTests.cpp

index 6a04ad9..e92b32b 100644 (file)
@@ -397,7 +397,7 @@ de::MovePtr<BufferWithMemory> RayTracingBuildLargeTestInstance::runTest (const d
        const VkImageMemoryBarrier                      preImageBarrier                                         = makeImageMemoryBarrier(0u, VK_ACCESS_TRANSFER_WRITE_BIT,
                                                                                                                                                                VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
                                                                                                                                                                **image, imageSubresourceRange);
-       const VkImageMemoryBarrier                      postImageBarrier                                        = makeImageMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR | VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
+       const VkImageMemoryBarrier                      postImageBarrier                                        = makeImageMemoryBarrier(VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT,
                                                                                                                                                                VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_GENERAL,
                                                                                                                                                                **image, imageSubresourceRange);
        const VkMemoryBarrier                           postTraceMemoryBarrier                          = makeMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT);