Repository: godot
Issue: Lots of Synchronization Validation Errors (specially with MSAA enabled)
Labels: bug,topic:rendering

### Godot version

4.2.x master [16a93563bfd3b02ca0a8f6df2026f3a3217f5571]

### System information

Linux - GCC g++ 9.4.0 - Ubuntu 20.04 LTS

### Issue description

Ticket #78497 tracks a good number of validation number and this ticket addresses all of them that start with "READ_AFTER_WRITE" or "WRITE_AFTER READ". This affects #61415

First, I need to explain what these are. Because I see this is a systemic problem.

Vulkan Synchronization isn't easy. Good reads are [this](https://github.com/KhronosGroup/Vulkan-Docs/wiki/Synchronization-Examples-(Legacy-synchronization-APIs))/[this](https://github.com/KhronosGroup/Vulkan-Docs/wiki/Synchronization-Examples) and [this](https://themaister.net/blog/2019/08/14/yet-another-blog-explaining-vulkan-synchronization/).

We can basically split Vulkan Barriers in 3 things they do:

 - **Changing layouts.** e.g. a Texture that was just used for rendering (`VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL`) now wants to be used for sampling (`VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL`). Godot gets this right. The default layers will scream at you if you get this wrong, and rendering will often be very corrupt.
     - If you want to know the details of why layout changes are needed; textures have a lot of meta stuff under the hood. For example DCC (Delta Color Compression) may be enabled for rendering. But for sampling the HW needs to decompress the texture before it can be sampled.
 - **Ordering commands.** If Compute Shader B (`VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT`) depends on the rendering done by Pixel Shader A (`VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT` or `VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT` depending on the case), then a barrier must be issued to ensure the Compute Shader doesn't start before rendering is done. Godot gets this more or less right since often a layout change is involved; but at other times it doesn't.
 - **Flushing caches.** If Pixel Shader A wrote to a Render Target (`VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT`), then caches need to be flushed to VRAM before the Compute Shader B can read them (`VK_ACCESS_COLOR_ATTACHMENT_READ_BIT`). Godot takes the brute force path of almost always asking `READ_BIT|WRITE_BIT`, but sometimes forgets to do this.

Normally, the 3 things happen at the same time: We **change layouts** because we need to do something else to a Resource, that means we must wait for a previously issued command and thus enforce **command order**, and while we are at it **we flush the caches**.

But unfortunately in Godot, that's not always the case.

## Godot asks Render Passes to automatically change layouts

A VkRenderPass requests 3 parameters we care about:

- `VkAttachmentDescription::initialLayout` Vulkan asks us in what layout the texture currently is before starting the rendering pass. Validation will scream at us if we get it wrong.
- `VkAttachmentReference::layout`. In which layout the rendering should be done. Unless we're doing subpasses in Mobile, this is almost always `VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL` because we want to render into it.
- `VkAttachmentDescription::finalLayout` in what layout do we wish to leave the textures in.

Godot "for simplicity" (in quotes because IMHO as things get more complex this adds a lot of problems) almost always assumes the following:

```cpp
VkAttachmentDescription::initialLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
VkAttachmentReference::layout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
VkAttachmentDescription::finalLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
```

That is, assume the texture was being used for sampling, then temporarily change it to Render Texture, and then resume sampling again. For most simple effects this make sense.

For more complex Compute Shaders, this is counterproductive because if the CS wants to write to it; it needs to change from `VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL` to `VK_IMAGE_LAYOUT_GENERAL` and when it's done back to `VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL`.

I talk about this behavior in [godotengine/godot-proposals/issues#7366](https://github.com/godotengine/godot-proposals/issues/7366) see "Gaussian Glow performs inefficient pipeline barriers & lack of barrier solver".

However that is not the problem here.

**The problem is that VkRenderPass performs the layout change _but does not enforce order_ (and honestly I don't know if it flushes the caches...).**

**VkRenderPass are guaranteed to be ordered against other VkRenderPass, but not against compute shader dispatches.**

Frankly VkRenderPass "conveniently" leaving the layout in the one you want is a disservice that makes more harm than good which is why I hate subpasses with a passion.

If we run a VkRenderPass and then a Compute Shader that uses the RenderTarget(s) from that pass; we must use a barrier. Otherwise it's a data hazard. The CS may start before rendering is done writing to it.

In OgreNext I prefer to leave `finalLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL` so that validation will always scream at me if I try to use the texture again. In very few cases this is slightly less efficient, but once you start doing anything more advanced (literally anything with Compute Shaders) it becomes a blessing.

## MSAA

If we create an empty a project and turn on MSAA + SSAO and leave everything else off (e.g. SSR, SDFGI) the following happens:

1. Render Depth Pre-Pass
    - This is a regular VkRenderPass that writes to various MSAA buffers
2. Resolve Depth Pre-Pass (MSAA)
    - This is a Compute Shader
3. Render Opaque Pass

Unfortunately, Step 2 can start before Step 1 finishes. Regular validation doesn't complain because the layout is in the correct state. There is code that doesn't get to be called

```cpp
if (needs_pre_resolve) {
	RD::get_singleton()->barrier(RD::BARRIER_MASK_RASTER, RD::BARRIER_MASK_COMPUTE);
}
```

which inserts a global barrier. However even if I force the call by commenting out the if(), synchronization validation still complains and rendering on AMD Polaris is still messed up. I haven't yet figured out why though.

Though a simple possibility is that the barrier explicitly needs us to submit the textures involved.

### Steps to reproduce

1. Enable Synchronization profile validation in vkconfig
2. Start Godot with --gpu-validation
3. Open a new project
4. Ensure MSAA is enabled
5. Enable SSAO
6. See the log getting spammed

Messages like the following:

```
SYNC-HAZARD-READ_AFTER_WRITE(ERROR / SPEC): msgNum: 1287084845 - Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x172a5790, name = radiance base cubemap View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDispatch: Hazard READ_AFTER_WRITE for VkImageView 0x172a5790[radiance base cubemap View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0xe45a510[RID:2688649527451], VkDescriptorSet 0x2a7cf910[RID:578506324967799], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #0, index 0. Access info (usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1561, reset_no: 209).
    Objects: 1
        [0] 0x172a5790, type: 14, name: radiance base cubemap View
ERROR: VALIDATION - Message Id Number: 1287084845 | Message Id Name: SYNC-HAZARD-READ_AFTER_WRITE
	Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x172a5790, name = radiance base cubemap View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDispatch: Hazard READ_AFTER_WRITE for VkImageView 0x172a5790[radiance base cubemap View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0xe45a510[RID:2688649527451], VkDescriptorSet 0x2a7cf910[RID:578506324967799], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #0, index 0. Access info (usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1561, reset_no: 209).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_IMAGE_VIEW, Handle 388650896, Name "radiance base cubemap View"
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-READ_AFTER_WRITE(ERROR / SPEC): msgNum: 1287084845 - Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a77fb50, name = RenderBuffer forward_clustered/normal_roughnesss_msaa View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDispatch: Hazard READ_AFTER_WRITE for VkImageView 0x2a77fb50[RenderBuffer forward_clustered/normal_roughnesss_msaa View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0xd1dd850[RID:1408749273123], VkDescriptorSet 0x2a87db60[RID:579172044898796], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #1, index 0. Access info (usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1795, reset_no: 209).
    Objects: 1
        [0] 0x2a77fb50, type: 14, name: RenderBuffer forward_clustered/normal_roughnesss_msaa View
ERROR: VALIDATION - Message Id Number: 1287084845 | Message Id Name: SYNC-HAZARD-READ_AFTER_WRITE
	Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a77fb50, name = RenderBuffer forward_clustered/normal_roughnesss_msaa View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDispatch: Hazard READ_AFTER_WRITE for VkImageView 0x2a77fb50[RenderBuffer forward_clustered/normal_roughnesss_msaa View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0xd1dd850[RID:1408749273123], VkDescriptorSet 0x2a87db60[RID:579172044898796], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #1, index 0. Access info (usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1795, reset_no: 209).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_IMAGE_VIEW, Handle 712506192, Name "RenderBuffer forward_clustered/normal_roughnesss_msaa View"
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-READ_AFTER_WRITE(ERROR / SPEC): msgNum: 1287084845 - Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a653bf0, name = RenderBuffer render_buffers/depth_msaa View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDispatch: Hazard READ_AFTER_WRITE for VkImageView 0x2a653bf0[RenderBuffer render_buffers/depth_msaa View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0xd1dd850[RID:1408749273123], VkDescriptorSet 0x2a87db60[RID:579172044898796], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #0, index 0. Access info (usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1795, reset_no: 209).
    Objects: 1
        [0] 0x2a653bf0, type: 14, name: RenderBuffer render_buffers/depth_msaa View
ERROR: VALIDATION - Message Id Number: 1287084845 | Message Id Name: SYNC-HAZARD-READ_AFTER_WRITE
	Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a653bf0, name = RenderBuffer render_buffers/depth_msaa View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDispatch: Hazard READ_AFTER_WRITE for VkImageView 0x2a653bf0[RenderBuffer render_buffers/depth_msaa View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0xd1dd850[RID:1408749273123], VkDescriptorSet 0x2a87db60[RID:579172044898796], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #0, index 0. Access info (usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1795, reset_no: 209).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_IMAGE_VIEW, Handle 711277552, Name "RenderBuffer render_buffers/depth_msaa View"
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-WRITE_AFTER_READ(ERROR / SPEC): msgNum: 1261721012 - Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 1798, reset_no: 209).
    Objects: 1
        [0] 0x2a904910, type: 18, name: NULL
ERROR: VALIDATION - Message Id Number: 1261721012 | Message Id Name: SYNC-HAZARD-WRITE_AFTER_READ
	Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 1798, reset_no: 209).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_RENDER_PASS, Handle 714098960
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-READ_AFTER_WRITE(ERROR / SPEC): msgNum: 1287084845 - Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
    Objects: 1
        [0] 0x2a806820, type: 14, name: RID:579249354317759 View
ERROR: VALIDATION - Message Id Number: 1287084845 | Message Id Name: SYNC-HAZARD-READ_AFTER_WRITE
	Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_IMAGE_VIEW, Handle 713058336, Name "RID:579249354317759 View"
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-READ_AFTER_WRITE(ERROR / SPEC): msgNum: 1287084845 - Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
    Objects: 1
        [0] 0x2a806820, type: 14, name: RID:579249354317759 View
ERROR: VALIDATION - Message Id Number: 1287084845 | Message Id Name: SYNC-HAZARD-READ_AFTER_WRITE
	Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_IMAGE_VIEW, Handle 713058336, Name "RID:579249354317759 View"
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-READ_AFTER_WRITE(ERROR / SPEC): msgNum: 1287084845 - Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
    Objects: 1
        [0] 0x2a806820, type: 14, name: RID:579249354317759 View
ERROR: VALIDATION - Message Id Number: 1287084845 | Message Id Name: SYNC-HAZARD-READ_AFTER_WRITE
	Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_IMAGE_VIEW, Handle 713058336, Name "RID:579249354317759 View"
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-READ_AFTER_WRITE(ERROR / SPEC): msgNum: 1287084845 - Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
    Objects: 1
        [0] 0x2a806820, type: 14, name: RID:579249354317759 View
ERROR: VALIDATION - Message Id Number: 1287084845 | Message Id Name: SYNC-HAZARD-READ_AFTER_WRITE
	Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_IMAGE_VIEW, Handle 713058336, Name "RID:579249354317759 View"
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-READ_AFTER_WRITE(ERROR / SPEC): msgNum: 1287084845 - Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
    Objects: 1
        [0] 0x2a806820, type: 14, name: RID:579249354317759 View
ERROR: VALIDATION - Message Id Number: 1287084845 | Message Id Name: SYNC-HAZARD-READ_AFTER_WRITE
	Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_IMAGE_VIEW, Handle 713058336, Name "RID:579249354317759 View"
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-READ_AFTER_WRITE(ERROR / SPEC): msgNum: 1287084845 - Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
    Objects: 1
        [0] 0x2a806820, type: 14, name: RID:579249354317759 View
ERROR: VALIDATION - Message Id Number: 1287084845 | Message Id Name: SYNC-HAZARD-READ_AFTER_WRITE
	Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_IMAGE_VIEW, Handle 713058336, Name "RID:579249354317759 View"
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-READ_AFTER_WRITE(ERROR / SPEC): msgNum: 1287084845 - Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
    Objects: 1
        [0] 0x2a806820, type: 14, name: RID:579249354317759 View
ERROR: VALIDATION - Message Id Number: 1287084845 | Message Id Name: SYNC-HAZARD-READ_AFTER_WRITE
	Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x2a806820, name = RID:579249354317759 View, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x2a806820[RID:579249354317759 View], in VkCommandBuffer 0xb5c9160[], and VkPipeline 0x2a915590[RID:579644491300879], VkDescriptorSet 0x9f82dc0[RID:579605836595724], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #6, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 1894, reset_no: 209).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_IMAGE_VIEW, Handle 713058336, Name "RID:579249354317759 View"
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-WRITE_AFTER_READ(ERROR / SPEC): msgNum: 1261721012 - Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 5101, reset_no: 3).
    Objects: 1
        [0] 0x2a904910, type: 18, name: NULL
ERROR: VALIDATION - Message Id Number: 1261721012 | Message Id Name: SYNC-HAZARD-WRITE_AFTER_READ
	Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 5101, reset_no: 3).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_RENDER_PASS, Handle 714098960
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-WRITE_AFTER_READ(ERROR / SPEC): msgNum: 1261721012 - Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 277, reset_no: 211).
    Objects: 1
        [0] 0x2a904910, type: 18, name: NULL
ERROR: VALIDATION - Message Id Number: 1261721012 | Message Id Name: SYNC-HAZARD-WRITE_AFTER_READ
	Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 277, reset_no: 211).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_RENDER_PASS, Handle 714098960
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-WRITE_AFTER_READ(ERROR / SPEC): msgNum: 1261721012 - Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 61, reset_no: 5).
    Objects: 1
        [0] 0x2a904910, type: 18, name: NULL
ERROR: VALIDATION - Message Id Number: 1261721012 | Message Id Name: SYNC-HAZARD-WRITE_AFTER_READ
	Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 61, reset_no: 5).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_RENDER_PASS, Handle 714098960
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-WRITE_AFTER_READ(ERROR / SPEC): msgNum: 1261721012 - Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 43, reset_no: 213).
    Objects: 1
        [0] 0x2a904910, type: 18, name: NULL
ERROR: VALIDATION - Message Id Number: 1261721012 | Message Id Name: SYNC-HAZARD-WRITE_AFTER_READ
	Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 43, reset_no: 213).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_RENDER_PASS, Handle 714098960
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-WRITE_AFTER_READ(ERROR / SPEC): msgNum: 1261721012 - Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 43, reset_no: 7).
    Objects: 1
        [0] 0x2a904910, type: 18, name: NULL
ERROR: VALIDATION - Message Id Number: 1261721012 | Message Id Name: SYNC-HAZARD-WRITE_AFTER_READ
	Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 43, reset_no: 7).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_RENDER_PASS, Handle 714098960
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-WRITE_AFTER_READ(ERROR / SPEC): msgNum: 1261721012 - Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 43, reset_no: 215).
    Objects: 1
        [0] 0x2a904910, type: 18, name: NULL
ERROR: VALIDATION - Message Id Number: 1261721012 | Message Id Name: SYNC-HAZARD-WRITE_AFTER_READ
	Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 43, reset_no: 215).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_RENDER_PASS, Handle 714098960
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-WRITE_AFTER_READ(ERROR / SPEC): msgNum: 1261721012 - Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 43, reset_no: 9).
    Objects: 1
        [0] 0x2a904910, type: 18, name: NULL
ERROR: VALIDATION - Message Id Number: 1261721012 | Message Id Name: SYNC-HAZARD-WRITE_AFTER_READ
	Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 43, reset_no: 9).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_RENDER_PASS, Handle 714098960
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-WRITE_AFTER_READ(ERROR / SPEC): msgNum: 1261721012 - Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 43, reset_no: 217).
    Objects: 1
        [0] 0x2a904910, type: 18, name: NULL
ERROR: VALIDATION - Message Id Number: 1261721012 | Message Id Name: SYNC-HAZARD-WRITE_AFTER_READ
	Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 43, reset_no: 217).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_RENDER_PASS, Handle 714098960
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
SYNC-HAZARD-WRITE_AFTER_READ(ERROR / SPEC): msgNum: 1261721012 - Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 43, reset_no: 11).
    Objects: 1
        [0] 0x2a904910, type: 18, name: NULL
ERROR: VALIDATION - Message Id Number: 1261721012 | Message Id Name: SYNC-HAZARD-WRITE_AFTER_READ
	Validation Error: [ SYNC-HAZARD-WRITE_AFTER_READ ] Object 0: handle = 0x2a904910, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x4b3455b4 | vkCmdBeginRenderPass: Hazard WRITE_AFTER_READ in subpass 0 for attachment 1 image layout transition (old_layout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, new_layout: VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL). Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR|VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR|VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR|VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV|VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR|VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR|VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT|VK_PIPELINE_STAGE_2_COPY_BIT_KHR|VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR|VK_PIPELINE_STAGE_2_BLIT_BIT_KHR|VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR|VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR|VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR, command: vkCmdDispatch, seq_no: 43, reset_no: 11).
	Objects - 1
		Object[0] - VK_OBJECT_TYPE_RENDER_PASS, Handle 714098960
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:267)
```

### Minimal reproduction project

Any