Closed
Conversation
Add VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT to colorDependency.srcAccessMask and depthDependency.dstAccessMask Add VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT to depthDependency.srcStageMask and depthDependency.dstStageMask
Added a per‑TransferTask fence to serialize transfer submissions so back‑to‑back vkCmdCopyBuffer writes can't overlap on the same queue.
Collaborator
|
What OS, drivers and hardware did you use in testing? |
Contributor
Author
|
OS Windows 11 |
…i-sampled window Add VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT to dependency.dstStageMask and dependency2.srcStageMask Add VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT to dependency.dstAccessMask and dependency2.srcAccessMask
Collaborator
|
I've done a first pass review and feel that issues need to be investigated fully, while these changes may be a solution for quieten the validation warnings, there might be more appropriate ways to tackle them. Could you submit the access mask changes and the fence addition as two separate PRs. When I get to testing and investigating whether these changes are appropriate I'll need to do performance testing as well as checking validation, and testing against other examples as making changes that affect all a broad usage case might have unintended consequences on performance and behavior. |
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
These errors appear when enabling "Synchronization" Layer Configuration in Vulkan Configurator and running vsgdraw and vsgtext:
Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] | MessageID = 0x376bc9df vkQueueSubmit(): WRITE_AFTER_READ hazard detected. vkCmdBeginRenderPass: ...Fix in vsg::createRenderPass:
Add VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT to colorDependency.srcAccessMask and depthDependency.dstAccessMask
Add VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT to depthDependency.srcStageMask and depthDependency.dstStageMask
Fix in vsg::createMultisampledRenderPass (for multi-sampled windows):
Add VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT to dependency.dstStageMask and dependency2.srcStageMask
Add VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT to dependency.dstAccessMask and dependency2.srcAccessMask
Validation Error: [ SYNC-HAZARD-WRITE-AFTER-WRITE ] | MessageID = 0x5c0ec5d6 vkQueueSubmit(): WRITE_AFTER_WRITE hazard detected. vkCmdCopyBuffer...Fix:
Added a per‑TransferTask fence to serialize transfer submissions so back‑to‑back vkCmdCopyBuffer writes can't overlap on the same queue.