You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SDK or header version if building from repo: 1.4.304 SDK
Options enabled (synchronization, best practices, etc.):
Describe the Issue
Minimal Vulkan triangle application using a Mesh shader (no task shader) in place of a Vertex shader and Fragment shader:
Each time vkCmdDrawMeshTasksEXT is called, I am getting two validation errors:
VUID-vkCmdDrawMeshTasksEXT-None-08607 telling me that no valid shader object was bound with vkCmdBindShadersEXT despite having done so.
VUID_Undefined msgNum: 2044605652 telling me that vkCmdBindShadersEXT() was not called with stage VK_SHADER_STAGE_VERTEX_BIT
I think these two are connected because they do not show when adding a vertex stage with an empty shader (nullptr).
This should not be necessary because Mesh shaders fully replace the traditional pipeline.
Expected behavior
One does not have to add VK_SHADER_STAGE_VERTEX_BIT because it does not appear in the mesh shading pipeline, thus these errors should not be showing.
Valid Usage ID
#VUID-vkCmdDrawMeshTasksEXT-None-08607
Additional context
VUID-vkCmdDrawMeshTasksEXT-None-08607(ERROR / SPEC): msgNum: 455220475 - Validation Error: [ VUID-vkCmdDrawMeshTasksEXT-None-08607 ] Object 0: handle = 0x1c793204290, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x1b221cfb | vkCmdDrawMeshTasksEXT(): A valid VK_PIPELINE_BIND_POINT_GRAPHICS pipeline must be bound with vkCmdBindPipeline or shader objects with vkCmdBindShadersEXT before calling this command.
The Vulkan spec states: If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command (https://vulkan.lunarg.com/doc/view/1.4.304.0/windows/1.4-extensions/vkspec.html#VUID-vkCmdDrawMeshTasksEXT-None-08607)
Objects: 1
[0] 0x1c793204290, type: 6, name: NULL
VUID_Undefined(ERROR / SPEC): msgNum: 2044605652 - Validation Error: [ VUID_Undefined ] Object 0: handle = 0x1c793204290, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x79de34d4 | vkCmdDrawMeshTasksEXT(): There is no graphics pipeline bound and vkCmdBindShadersEXT() was not called with stage VK_SHADER_STAGE_VERTEX_BIT and either VK_NULL_HANDLE or a valid VK_SHADER_STAGE_VERTEX_BIT shader.
Objects: 1
[0] 0x1c793204290, type: 6, name: NULL
The text was updated successfully, but these errors were encountered:
Environment:
Describe the Issue
Minimal Vulkan triangle application using a Mesh shader (no task shader) in place of a Vertex shader and Fragment shader:
Each time vkCmdDrawMeshTasksEXT is called, I am getting two validation errors:
I think these two are connected because they do not show when adding a vertex stage with an empty shader (nullptr).
This should not be necessary because Mesh shaders fully replace the traditional pipeline.
Expected behavior
One does not have to add VK_SHADER_STAGE_VERTEX_BIT because it does not appear in the mesh shading pipeline, thus these errors should not be showing.
Valid Usage ID
#VUID-vkCmdDrawMeshTasksEXT-None-08607
Additional context
VUID-vkCmdDrawMeshTasksEXT-None-08607(ERROR / SPEC): msgNum: 455220475 - Validation Error: [ VUID-vkCmdDrawMeshTasksEXT-None-08607 ] Object 0: handle = 0x1c793204290, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x1b221cfb | vkCmdDrawMeshTasksEXT(): A valid VK_PIPELINE_BIND_POINT_GRAPHICS pipeline must be bound with vkCmdBindPipeline or shader objects with vkCmdBindShadersEXT before calling this command.
The Vulkan spec states: If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command (https://vulkan.lunarg.com/doc/view/1.4.304.0/windows/1.4-extensions/vkspec.html#VUID-vkCmdDrawMeshTasksEXT-None-08607)
Objects: 1
[0] 0x1c793204290, type: 6, name: NULL
VUID_Undefined(ERROR / SPEC): msgNum: 2044605652 - Validation Error: [ VUID_Undefined ] Object 0: handle = 0x1c793204290, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x79de34d4 | vkCmdDrawMeshTasksEXT(): There is no graphics pipeline bound and vkCmdBindShadersEXT() was not called with stage VK_SHADER_STAGE_VERTEX_BIT and either VK_NULL_HANDLE or a valid VK_SHADER_STAGE_VERTEX_BIT shader.
Objects: 1
[0] 0x1c793204290, type: 6, name: NULL
The text was updated successfully, but these errors were encountered: