Skip to content

Validation Errors #2

@dschuechter

Description

@dschuechter

Hey, I am currently following your great tutorial series. Thanks for your great work!

I ran into validation errors in Vulkan Tutorial #018 and Vulkan Tutorial #024. Since I am quiet new to Vulkan and C++ I am a bit lost.

In Episode 18:

Validation errors:
[.../Vulkan/src/vulkan_base/vulkan_device.cpp:5]: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0x557fb8f85db0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0x376bc9df | vkQueueSubmit(): Hazard WRITE_AFTER_READ for entry 0, VkCommandBuffer 0x557fbb2bba00[], Submitted access info (submitted_usage: SYNC_IMAGE_LAYOUT_TRANSITION, command: vkCmdBeginRenderPass, seq_no: 1, renderpass: VkRenderPass 0xd5b26f0000000010[], reset_no: 88). Access info (prior_usage: SYNC_PRESENT_ENGINE_SYNCVAL_PRESENT_ACQUIRE_READ_SYNCVAL, read_barriers: VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT|VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT, , batch_tag: 693, vkAcquireNextImageKHR aquire_tag:693: VkSwapchainKHR 0xee647e0000000009[], image_index: 2image: VkImage 0xe88693000000000c[])

I identified the problem to be this line:

    VkPipelineStageFlags waitMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; 

If you change it to

    VkPipelineStageFlags waitMask = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;

the validation errors disappear.

In Episode 24

[.../Vulkan/src/vulkan_base/vulkan_device.cpp:5]: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-
READ ] Object 0: handle = 0x55ff83f9aa80, type = VK_OBJECT_TYPE_QUEUE; | MessageID =
0x376bc9df | vkQueueSubmit():  Hazard WRITE_AFTER_READ for entry 0, VkCommandBuffer
0x55ff863110a0[], Submitted access info (submitted_usage: SYNC_IMAGE_LAYOUT_TRANSITION, 
command: vkCmdBeginRenderPass, seq_no: 1, renderpass: VkRenderPass 0xd5b26f0000000010[],
reset_no: 162). Access info (prior_usage: 
SYNC_PRESENT_ENGINE_SYNCVAL_PRESENT_ACQUIRE_READ_SYNCVAL, read_barriers: 
K_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT|
VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT, , batch_tag: 1301, vkAcquireNextImageKHR 
quire_tag:1301: VkSwapchainKHR 0xee647e0000000009[], image_index: 2image: VkImage 
0xe88693000000000c[]).

The same validation errors are reproducable with your code.

I am running an up-to-date Arch Linux with Vulkan (Instance Version 1.3.279).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions