Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vulkan: use proper access flag for acceleration structures #434

Open
TheMostDiligent opened this issue Sep 6, 2023 · 0 comments
Open

Vulkan: use proper access flag for acceleration structures #434

TheMostDiligent opened this issue Sep 6, 2023 · 0 comments

Comments

@TheMostDiligent
Copy link
Contributor

Currently, Diligent uses VK_ACCESS_SHADER_READ_BIT flag for acceleration structure read. On AMD hardware this is not supported and produces the following errros:

 Validation Error: [ VUID-vkCmdPipelineBarrier-dstAccessMask-02816 ] Object 0: handle = 0x5565564848c0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x69c8467d | vkCmdPipelineBarrier(): INVALID_EMPTYpMemoryBarriers[0].dstAccessMask bit VK_ACCESS_SHADER_READ_BIT is not supported by stage mask (VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR). The Vulkan spec states: The dstAccessMask member of each element of pMemoryBarriers must only include access flags that are supported by one or more of the pipeline stages in dstStageMask, as specified in the table of supported access types (https://vulkan.lunarg.com/doc/view/1.3.261.0/linux/1.3-extensions/vkspec.html#VUID-vkCmdPipelineBarrier-dstAccessMask-02816)
                 Object[0] (cmd buffer): Handle 0x5565564848c0

Apparently, correct access flag is VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant