Incorrect host access masks in pipeline barriers - #1097
Conversation
Remove VK_ACCESS_HOST_READ_BIT and VK_ACCESS_HOST_WRITE_BIT from kMemoryBarrierForAll as these flags are only valid with VK_PIPELINE_STAGE_HOST_BIT, not VK_PIPELINE_STAGE_ALL_COMMANDS_BIT
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
|
Didn't #1095 address this by including VK_PIPELINE_STAGE_HOST_BIT? I'm not sure what happened to the git history, but for some reason the base of this PR does not include the change from PR1095. I believe various calls of MemoryBarrier (for example in TransferImage) assume the host synchronization that PR 1095 adds, and this PR removes. We found that PR 1095 resolves some CTS test failures for us, but I'm expecting that this PR would re-introduce them. |
…" (google#1121) This reverts commit 9482448. The other way of resolving this is to add VK_PIPELINE_STAGE_HOST_BIT, which was done in the preceeding commit to this file (ab06e46). That is prefereable because callers of MemoryBarrier assume that it does host synchronization.
|
Can you post a PR for your revert and I can land it? |
|
The PR is #1122 I see you already merged it. Thanks! |
Remove VK_ACCESS_HOST_READ_BIT and VK_ACCESS_HOST_WRITE_BIT from kMemoryBarrierForAll as these flags are only valid with VK_PIPELINE_STAGE_HOST_BIT, not VK_PIPELINE_STAGE_ALL_COMMANDS_BIT.
Problem discovered while fixing validation layers errors in VK-GL-CTS. Currently whitelisted in:
https://github.com/KhronosGroup/VK-GL-CTS/blob/main/external/vulkancts/scripts/src/vk-vvl-whitelist.json