#16 Doesn't work when shaders already define a push constant #18

Closed
opened 2026-06-03 04:06:26 +02:00 by jorijnvdgraaf · 0 comments

Vulkan validation (error): vkCreateShaderModule(): pCreateInfo->pCode (spirv-val produced an error):
Entry point id '4' uses more than one PushConstant interface.
From Vulkan spec:
There must be no more than one push constant block statically used per shader entry point.
%392 = OpVariable %_ptr_PushConstant__struct_389 PushConstant

Command to reproduce:
spirv-val <input.spv> --relax-block-layout --scalar-block-layout --target-env vulkan1.4

The Vulkan spec states: Each OpEntryPoint must statically use at most one variable in the PushConstant Storage Class unless the PushConstantBanksNV capability is declared (https://docs.vulkan.org/spec/latest/appendices/spirvenv.html#VUID-StandaloneSpirv-OpEntryPoint-06674)
Vulkan validation (error): vkCreateShaderModule(): pCreateInfo->pCode (spirv-val produced an error):
Entry point id '4' uses more than one PushConstant interface.
From Vulkan spec:
There must be no more than one push constant block statically used per shader entry point.
%282 = OpVariable %_ptr_PushConstant__struct_279 PushConstant

Command to reproduce:
spirv-val <input.spv> --relax-block-layout --scalar-block-layout --target-env vulkan1.4

The Vulkan spec states: Each OpEntryPoint must statically use at most one variable in the PushConstant Storage Class unless the PushConstantBanksNV capability is declared (https://docs.vulkan.org/spec/latest/appendices/spirvenv.html#VUID-StandaloneSpirv-OpEntryPoint-06674)

Vulkan validation (error): vkCreateShaderModule(): pCreateInfo->pCode (spirv-val produced an error): Entry point id '4' uses more than one PushConstant interface. From Vulkan spec: There must be no more than one push constant block statically used per shader entry point. %392 = OpVariable %_ptr_PushConstant__struct_389 PushConstant Command to reproduce: spirv-val <input.spv> --relax-block-layout --scalar-block-layout --target-env vulkan1.4 The Vulkan spec states: Each OpEntryPoint must statically use at most one variable in the PushConstant Storage Class unless the PushConstantBanksNV capability is declared (https://docs.vulkan.org/spec/latest/appendices/spirvenv.html#VUID-StandaloneSpirv-OpEntryPoint-06674) Vulkan validation (error): vkCreateShaderModule(): pCreateInfo->pCode (spirv-val produced an error): Entry point id '4' uses more than one PushConstant interface. From Vulkan spec: There must be no more than one push constant block statically used per shader entry point. %282 = OpVariable %_ptr_PushConstant__struct_279 PushConstant Command to reproduce: spirv-val <input.spv> --relax-block-layout --scalar-block-layout --target-env vulkan1.4 The Vulkan spec states: Each OpEntryPoint must statically use at most one variable in the PushConstant Storage Class unless the PushConstantBanksNV capability is declared (https://docs.vulkan.org/spec/latest/appendices/spirvenv.html#VUID-StandaloneSpirv-OpEntryPoint-06674)
jorijnvdgraaf changed title from #15 Doesn't work when shaders already define a push constant to #16 Doesn't work when shaders already define a push constant 2026-06-03 04:06:45 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Catcrafts/Crafter.Graphics#18
No description provided.