Repository: godot
Issue: Vulkan Validation: vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView
Labels: bug,topic:rendering

### Godot version

Godot Engine v4.0.dev.calinou.795cd2eb3 ([`795cd2eb3`](https://github.com/godotengine/godot/commits/795cd2eb3))

### System information

Linux, Elementary OS 5.1, Intel(R) HD Graphics 4400 (HSW GT2), Vulkan API 1.2.182

### Issue description

```
ERROR: VALIDATION - Message Id Number: 1287084845 | Message Id Name: SYNC-HAZARD-READ_AFTER_WRITE
        Validation Error: [ SYNC-HAZARD-READ_AFTER_WRITE ] Object 0: handle = 0x52fb2f0000003549, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x4cb75b2d | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x52fb2f0000003549[], in VkCommandBuffer 0x55555f9d0520[], and VkPipeline 0x2306f3000000355e[], VkDescriptorSet 0x363214000000355a[], type: VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #5, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: 0, command: vkCmdEndRenderPass, seq_no: 897, reset_no: 41).
        Objects - 1
                Object[0] - VK_OBJECT_TYPE_IMAGE_VIEW, Handle 5979424607310984521
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:157)
```

```
#0  VulkanContext::_debug_messenger_callback (messageSeverity=VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT, messageType=0x2, pCallbackData=0x7fffffffb150, pUserData=0x55555f0317b0) at drivers/vulkan/vulkan_context.cpp:53
#1  0x00007fffe93ff5de in debug_log_msg (layer_prefix=0x7fffe9a10799 "Validation", text_vuid=<optimized out>, message=<optimized out>, objects=..., msg_flags=<optimizedout>, debug_data=<optimized out>) at /root/sdk-build/1.2.182.0/source/Vulkan-ValidationLayers/layers/vk_layer_logging.h:475
#2  LogMsgLocked (debug_data=<optimized out>, msg_flags=msg_flags@entry=0x8, objects=..., vuid_text="SYNC-HAZARD-READ_AFTER_WRITE", err_msg=<optimized out>) at /root/sdk-build/1.2.182.0/source/Vulkan-ValidationLayers/layers/vk_layer_logging.h:735
#3  0x00007fffe9461bc7 in ValidationObject::LogError<VkImageView_T*> (this=0x55555f968790, src_object=<optimized out>, vuid_text="SYNC-HAZARD-READ_AFTER_WRITE", format=0x7fffe9c18d38 "%s: Hazard %s for %s, in %s, and %s, %s, type: %s, imageLayout: %s, binding #%u, index %u. Access info %s.") at /root/sdk-build/1.2.182.0/source/Vulkan-ValidationLayers/layers/generated/chassis.h:3310
#4  0x00007fffe97529ad in CommandBufferAccessContext::ValidateDispatchDrawDescriptorSet (this=this@entry=0x555562aa39e0, pipelineBindPoint=pipelineBindPoint@entry=VK_PIPELINE_BIND_POINT_GRAPHICS, func_name=func_name@entry=0x7fffe9a11f29 "vkCmdDrawIndexed") at /root/sdk-build/1.2.182.0/source/Vulkan-ValidationLayers/layers/synchronization_validation.cpp:1835
#5  0x00007fffe9754148 in SyncValidator::PreCallValidateCmdDrawIndexed (this=<optimized out>, commandBuffer=<optimized out>, indexCount=0x24, instanceCount=<optimized out>, firstIndex=0x0, vertexOffset=<optimized out>, firstInstance=0x0) at /root/sdk-build/1.2.182.0/source/Vulkan-ValidationLayers/layers/synchronization_validation.cpp:4078
#6  0x00007fffe929760d in vulkan_layer_chassis::CmdDrawIndexed (commandBuffer=<optimized out>, indexCount=<optimized out>, instanceCount=<optimized out>, firstIndex=<optimized out>, vertexOffset=0x0, firstInstance=0x0) at /root/sdk-build/1.2.182.0/source/Vulkan-ValidationLayers/layers/generated/chassis.cpp:3031
#7  0x00005555587a0ba0 in RenderingDeviceVulkan::draw_list_draw (this=0x55555f7b0090, p_list=0x800000000000000, p_use_indices=0x1, p_instances=0x1, p_procedural_vertices=0x0) at drivers/vulkan/rendering_device_vulkan.cpp:7468
#8  0x000055555abf1bed in RendererSceneRenderImplementation::RenderForwardClustered::_render_list_template<(RendererSceneRenderImplementation::RenderForwardClustered::PassMode)0> (this=0x5555607a0720, p_draw_list=0x800000000000000, p_framebuffer_Format=0x7, p_params=0x7fffffffc050, p_from_element=0x0, p_to_element=0x4) at servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp:513
#9  0x000055555abddb95 in RendererSceneRenderImplementation::RenderForwardClustered::_render_list (this=0x5555607a0720, p_draw_list=0x800000000000000, p_framebuffer_Format=0x7, p_params=0x7fffffffc050, p_from_element=0x0, p_to_element=0x4) at servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp:528
#10 0x000055555abdde85 in RendererSceneRenderImplementation::RenderForwardClustered::_render_list_with_threads (this=0x5555607a0720, p_params=0x7fffffffc050, p_framebuffer=..., p_initial_color_action=RenderingDevice::INITIAL_ACTION_CLEAR, p_final_color_action=RenderingDevice::FINAL_ACTION_CONTINUE, p_initial_depth_action=RenderingDevice::INITIAL_ACTION_CONTINUE, p_final_depth_action=RenderingDevice::FINAL_ACTION_CONTINUE, p_clear_color_values=..., p_clear_depth=1, p_clear_stencil=0x0, p_region=..., p_storage_textures=...) at servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp:581
#11 0x000055555abe330f in RendererSceneRenderImplementation::RenderForwardClustered::_render_scene (this=0x5555607a0720, p_render_data=0x7fffffffc210, p_default_bg_color=...) at servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp:1475
#12 0x000055555ab2d41d in RendererSceneRenderRD::render_scene (this=0x5555607a0720, p_render_buffers=..., p_camera_data=0x7fffffffc9b0, p_instances=..., p_lights=..., p_reflection_probes=..., p_voxel_gi_instances=..., p_decals=..., p_lightmaps=..., p_fog_volumes=..., p_environment=..., p_camera_effects=..., p_shadow_atlas=..., p_occluder_debug_tex=..., p_reflection_atlas=..., p_reflection_probe=..., p_reflection_probe_pass=0xffffffff, p_screen_lod_threshold=0.00163934426, p_render_shadows=0x55555fa733e8, p_render_shadow_count=0x4, p_render_sdfgi_regions=0x55555fa7b3f0, p_render_sdfgi_region_count=0x0, p_sdfgi_update_data=0x55555fa7b930, r_render_info=0x55556b8008d0) at servers/rendering/renderer_rd/renderer_scene_render_rd.cpp:4684
#13 0x000055555adeb32e in RendererSceneCull::_render_scene (this=0x55555fa723a0, p_camera_data=0x7fffffffc9b0, p_render_buffers=..., p_environment=..., p_force_camera_effects=..., p_visible_layers=0xf0fffff, p_scenario=..., p_viewport=..., p_shadow_atlas=..., p_reflection_probe=..., p_reflection_probe_pass=0xffffffff, p_screen_lod_threshold=0.00163934426, p_using_shadows=0x1, r_render_info=0x55556b8008d0) at servers/rendering/renderer_scene_cull.cpp:3204
#14 0x000055555ade6c02 in RendererSceneCull::render_camera (this=0x55555fa723a0, p_render_buffers=..., p_camera=..., p_scenario=..., p_viewport=..., p_viewport_size=..., p_screen_lod_threshold=0.00163934426, p_shadow_atlas=..., p_xr_interface=..., r_render_info=0x55556b8008d0) at servers/rendering/renderer_scene_cull.cpp:2498
#15 0x000055555ae0fb5d in RendererViewport::_draw_3d (this=0x55555fa72300, p_viewport=0x55556b8007d0) at servers/rendering/renderer_viewport.cpp:120
#16 0x000055555ae1012a in RendererViewport::_draw_viewport (this=0x55555fa72300, p_viewport=0x55556b8007d0) at servers/rendering/renderer_viewport.cpp:179
#17 0x000055555ae12af4 in RendererViewport::draw_viewports (this=0x55555fa72300) at servers/rendering/renderer_viewport.cpp:608
#18 0x000055555aa65b7e in RenderingServerDefault::_draw (this=0x55555fa3cfa0, p_swap_buffers=0x1, frame_step=6.7999999999999998) at servers/rendering/rendering_server_default.cpp:97
#19 0x000055555aa678ac in RenderingServerDefault::draw (this=0x55555fa3cfa0, p_swap_buffers=0x1, frame_step=6.7999999999999998) at servers/rendering/rendering_server_default.cpp:379
#20 0x00005555576d8ce2 in Main::iteration () at main/main.cpp:2666
#21 0x00005555576928b6 in OS_LinuxBSD::run (this=0x7fffffffd540) at platform/linuxbsd/os_linuxbsd.cpp:342
#22 0x000055555768eded in main (argc=0x7, argv=0x7fffffffda38) at platform/linuxbsd/godot_linuxbsd.cpp:58
```

### Steps to reproduce

Test project: [vulk-previews-issue-repro-bb.zip](https://github.com/godotengine/godot/files/7465250/vulk-previews-issue-repro-bb.zip)


### Minimal reproduction project

_No response_