Skip to content

Incorrect errors when using dynamic rendering #172

Open
@mbechard

Description

@mbechard

Environment:

  • OS: Windows 11
  • GPU and driver version: RTX 6000 Ada, 572.93
  • SDK or header version if building from repo: 1.4.309.0
  • Options enabled (synchronization, best practices, etc.): Crash Diagnostics

Describe the Issue

When Crash Diagnostics configuration is enabled, I get incorrect errors when using dynamic rendering and dynamic state

ERROR : VALIDATION - Message Id Number: -175953704 | Message Id Name: VUID-vkCmdDraw-renderpass
        vkCmdDraw(): This call must be issued inside an active render pass.
The Vulkan spec states: This command must only be called inside of a render pass instance (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDraw-renderpass)

        Objects - 1
                Object[0] - VK_OBJECT_TYPE_COMMAND_BUFFER, Handle 00000211E82AABC0, Name "uniqueID: 11, Main Content: Primary Gfx"

ERROR : VALIDATION - Message Id Number: 1166748261 | Message Id Name: VUID-vkCmdDraw-None-07842
        vkCmdDraw(): VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY state is dynamic, but the command buffer never called vkCmdSetPrimitiveTopology.
The Vulkan spec states: If there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled then vkCmdSetPrimitiveTopology must have been called and not subsequently invalidated in the current command buffer prior to this drawing command (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDraw-None-07842)

        Objects - 2
                Object[0] - VK_OBJECT_TYPE_COMMAND_BUFFER, Handle 00000211E82AABC0, Name "uniqueID: 11, Main Content: Primary Gfx"
                Object[1] - VK_OBJECT_TYPE_PIPELINE, Handle D9D6D100000003AC

ERROR : VALIDATION - Message Id Number: 1937114004 | Message Id Name: VUID-vkCmdDraw-None-04879
        vkCmdDraw(): VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE state is dynamic, but the command buffer never called vkCmdSetPrimitiveRestartEnable.
The Vulkan spec states: If there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE dynamic state enabled then vkCmdSetPrimitiveRestartEnable must have been called and not subsequently invalidated in the current command buffer prior to this drawing command (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDraw-None-04879)

        Objects - 2
                Object[0] - VK_OBJECT_TYPE_COMMAND_BUFFER, Handle 00000211E82AABC0, Name "uniqueID: 11, Main Content: Primary Gfx"
                Object[1] - VK_OBJECT_TYPE_PIPELINE, Handle D9D6D100000003AC

ERROR : VALIDATION - Message Id Number: -901174136 | Message Id Name: VUID-vkCmdDraw-dynamicPrimitiveTopologyUnrestricted-07500
        vkCmdDraw(): the last primitive topology VK_PRIMITIVE_TOPOLOGY_POINT_LIST state set by vkCmdSetPrimitiveTopology is not compatible with the pipeline topology VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST.
The Vulkan spec states: If the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled and the dynamicPrimitiveTopologyUnrestricted is VK_FALSE, then the primitiveTopology parameter of vkCmdSetPrimitiveTopology must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state (https://vulkan.lunarg.com/doc/view/1.4.309.0/windows/antora/spec/latest/chapters/drawing.html#VUID-vkCmdDraw-dynamicPrimitiveTopologyUnrestricted-07500)

Expected behavior

This does not happen when using regular Validation configuration.

Can be reproduce by installing TouchDesigner from here:
https://download.derivative.ca/TouchDesigner.2023.12230.exe

And launching it with Crash Diagnostics enabled and logging to a file.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions