Skip to content

Conversation

@jeffbolznv
Copy link
Collaborator

No description provided.

@jeffbolznv jeffbolznv requested a review from 0cc4m as a code owner September 18, 2025 14:06
@0cc4m
Copy link
Collaborator

0cc4m commented Sep 18, 2025

Unrelated to this one, but for coopmat2 I also get:

VUID-VkShaderModuleCreateInfo-pCode-08737(ERROR / SPEC): msgNum: -1520283006 - Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-08737 ] | MessageID = 0xa5625282 | vkCreateShaderModule(): pCreateInfo->pCode (spirv-val produced an error):
Invalid capability operand: 5116.
The Vulkan spec states: If pCode is a pointer to SPIR-V code, pCode must adhere to the validation rules described by the Validation Rules within a Module section of the SPIR-V Environment appendix (https://docs.vulkan.org/spec/latest/chapters/shaders.html#VUID-VkShaderModuleCreateInfo-pCode-08737)
VUID-VkShaderModuleCreateInfo-pCode-08739(ERROR / SPEC): msgNum: 1616057594 - Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-08739 ] | MessageID = 0x605314fa | vkCreateShaderModule(): SPIR-V has Capability (Unhandled OpCapability) declared, but this is not supported by Vulkan.
The Vulkan spec states: If pCode is a pointer to SPIR-V code, pCode must not declare any capability that is not supported by the API, as described by the Capabilities section of the SPIR-V Environment appendix (https://docs.vulkan.org/spec/latest/chapters/shaders.html#VUID-VkShaderModuleCreateInfo-pCode-08739)
VUID-VkShaderModuleCreateInfo-pCode-08739(ERROR / SPEC): msgNum: 1616057594 - Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-08739 ] | MessageID = 0x605314fa | vkCreateShaderModule(): SPIR-V has Capability (Unhandled OpCapability) declared, but this is not supported by Vulkan.
The Vulkan spec states: If pCode is a pointer to SPIR-V code, pCode must not declare any capability that is not supported by the API, as described by the Capabilities section of the SPIR-V Environment appendix (https://docs.vulkan.org/spec/latest/chapters/shaders.html#VUID-VkShaderModuleCreateInfo-pCode-08739)
VUID-VkShaderModuleCreateInfo-pCode-08741(ERROR / SPEC): msgNum: 9669426 - Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-08741 ] | MessageID = 0x938b32 | vkCreateShaderModule(): SPIR-V Extension SPV_KHR_bfloat16 was declared, but that is not supported by Vulkan.
The Vulkan spec states: If pCode is a pointer to SPIR-V code, pCode must not declare any SPIR-V extension that is not supported by the API, as described by the Extension section of the SPIR-V Environment appendix (https://docs.vulkan.org/spec/latest/chapters/shaders.html#VUID-VkShaderModuleCreateInfo-pCode-08741)
VUID-VkPipelineShaderStageCreateInfo-module-parameter(ERROR / SPEC): msgNum: -42869648 - Validation Error: [ VUID-VkPipelineShaderStageCreateInfo-module-parameter ] | MessageID = 0xfd71dc70 | vkCreateComputePipelines(): pCreateInfos[0].stage VkShaderModule 0xe150c50000000097[] failed in spirv-opt because it does not contain valid spirv for stage VK_SHADER_STAGE_COMPUTE_BIT. Invalid capability operand: 5116.
The Vulkan spec states: If module is not VK_NULL_HANDLE, module must be a valid VkShaderModule handle (https://docs.vulkan.org/spec/latest/chapters/pipelines.html#VUID-VkPipelineShaderStageCreateInfo-module-parameter)
VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06849(ERROR / SPEC): msgNum: 1132206547 - Validation Error: [ VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06849 ] | MessageID = 0x437c19d3 | vkCreateComputePipelines(): pCreateInfos[0].stage VkShaderModule 0xe150c50000000097[] shader (stage VK_SHADER_STAGE_COMPUTE_BIT) attempted to apply specialization constants with spirv-opt but failed.
The Vulkan spec states: If a shader module identifier is not specified, the shader code used by the pipeline must be valid as described by the Khronos SPIR-V Specification after applying the specializations provided in pSpecializationInfo, if any, and then converting all specialization constants into fixed constants (https://docs.vulkan.org/spec/latest/chapters/pipelines.html#VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06849)
VUID-RuntimeSpirv-cooperativeMatrixFlexibleDimensions-10165(ERROR / SPEC): msgNum: -1349791215 - Validation Error: [ VUID-RuntimeSpirv-cooperativeMatrixFlexibleDimensions-10165 ] Object 0: handle = 0xe150c50000000097, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0xaf8bd211 | vkCreateComputePipelines(): pCreateInfos[0].stage SPIR-V (VK_SHADER_STAGE_COMPUTE_BIT) has
%304 = OpTypeCooperativeMatrixKHR %303 %18 %61 %217 %67 (rows: 64, cols: 64, scope: VK_SCOPE_WORKGROUP_KHR, type: VK_COMPONENT_TYPE_FLOAT16_KHR, use: 0)
but doesn't match any VkCooperativeMatrixPropertiesKHR or VkCooperativeMatrixFlexibleDimensionsPropertiesNV
[0] MSize = 16 | NSize = 16 | KSize = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT16_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT16_KHR | scope = VK_SCOPE_SUBGROUP_KHR
[1] MSize = 16 | NSize = 8 | KSize = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT16_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT16_KHR | scope = VK_SCOPE_SUBGROUP_KHR
[2] MSize = 16 | NSize = 8 | KSize = 8 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT16_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT16_KHR | scope = VK_SCOPE_SUBGROUP_KHR
[3] MSize = 16 | NSize = 16 | KSize = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_SUBGROUP_KHR
[4] MSize = 16 | NSize = 8 | KSize = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_SUBGROUP_KHR
[5] MSize = 16 | NSize = 8 | KSize = 8 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_SUBGROUP_KHR
[6] MSize = 16 | NSize = 16 | KSize = 32 | AType = VK_COMPONENT_TYPE_UINT8_KHR | BType = VK_COMPONENT_TYPE_UINT8_KHR | CType = VK_COMPONENT_TYPE_UINT32_KHR | ResultType = VK_COMPONENT_TYPE_UINT32_KHR | scope = VK_SCOPE_SUBGROUP_KHR
[7] MSize = 16 | NSize = 16 | KSize = 32 | AType = VK_COMPONENT_TYPE_SINT8_KHR | BType = VK_COMPONENT_TYPE_SINT8_KHR | CType = VK_COMPONENT_TYPE_SINT32_KHR | ResultType = VK_COMPONENT_TYPE_SINT32_KHR | scope = VK_SCOPE_SUBGROUP_KHR
[8] MSize = 16 | NSize = 8 | KSize = 32 | AType = VK_COMPONENT_TYPE_UINT8_KHR | BType = VK_COMPONENT_TYPE_UINT8_KHR | CType = VK_COMPONENT_TYPE_UINT32_KHR | ResultType = VK_COMPONENT_TYPE_UINT32_KHR | scope = VK_SCOPE_SUBGROUP_KHR
[9] MSize = 16 | NSize = 8 | KSize = 32 | AType = VK_COMPONENT_TYPE_SINT8_KHR | BType = VK_COMPONENT_TYPE_SINT8_KHR | CType = VK_COMPONENT_TYPE_SINT32_KHR | ResultType = VK_COMPONENT_TYPE_SINT32_KHR | scope = VK_SCOPE_SUBGROUP_KHR
[10] MSize = 16 | NSize = 16 | KSize = 16 | AType = Unhandled VkComponentTypeKHR | BType = Unhandled VkComponentTypeKHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_SUBGROUP_KHR

[0] MGranularity = 16 | NGranularity = 16 | KGranularity = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT16_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT16_KHR | scope = VK_SCOPE_SUBGROUP_KHR | workgroupInvocations = 0
[1] MGranularity = 16 | NGranularity = 16 | KGranularity = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_SUBGROUP_KHR | workgroupInvocations = 0
[2] MGranularity = 16 | NGranularity = 16 | KGranularity = 32 | AType = VK_COMPONENT_TYPE_UINT8_KHR | BType = VK_COMPONENT_TYPE_UINT8_KHR | CType = VK_COMPONENT_TYPE_UINT32_KHR | ResultType = VK_COMPONENT_TYPE_UINT32_KHR | scope = VK_SCOPE_SUBGROUP_KHR | workgroupInvocations = 0
[3] MGranularity = 16 | NGranularity = 16 | KGranularity = 32 | AType = VK_COMPONENT_TYPE_SINT8_KHR | BType = VK_COMPONENT_TYPE_SINT8_KHR | CType = VK_COMPONENT_TYPE_SINT32_KHR | ResultType = VK_COMPONENT_TYPE_SINT32_KHR | scope = VK_SCOPE_SUBGROUP_KHR | workgroupInvocations = 0
[4] MGranularity = 16 | NGranularity = 16 | KGranularity = 16 | AType = Unhandled VkComponentTypeKHR | BType = Unhandled VkComponentTypeKHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_SUBGROUP_KHR | workgroupInvocations = 0
[5] MGranularity = 16 | NGranularity = 16 | KGranularity = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT16_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT16_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 32
[6] MGranularity = 16 | NGranularity = 16 | KGranularity = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 32
[7] MGranularity = 16 | NGranularity = 16 | KGranularity = 32 | AType = VK_COMPONENT_TYPE_UINT8_KHR | BType = VK_COMPONENT_TYPE_UINT8_KHR | CType = VK_COMPONENT_TYPE_UINT32_KHR | ResultType = VK_COMPONENT_TYPE_UINT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 32
[8] MGranularity = 16 | NGranularity = 16 | KGranularity = 32 | AType = VK_COMPONENT_TYPE_SINT8_KHR | BType = VK_COMPONENT_TYPE_SINT8_KHR | CType = VK_COMPONENT_TYPE_SINT32_KHR | ResultType = VK_COMPONENT_TYPE_SINT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 32
[9] MGranularity = 16 | NGranularity = 16 | KGranularity = 16 | AType = Unhandled VkComponentTypeKHR | BType = Unhandled VkComponentTypeKHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 32
[10] MGranularity = 16 | NGranularity = 16 | KGranularity = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT16_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT16_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 64
[11] MGranularity = 16 | NGranularity = 16 | KGranularity = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 64
[12] MGranularity = 16 | NGranularity = 16 | KGranularity = 32 | AType = VK_COMPONENT_TYPE_UINT8_KHR | BType = VK_COMPONENT_TYPE_UINT8_KHR | CType = VK_COMPONENT_TYPE_UINT32_KHR | ResultType = VK_COMPONENT_TYPE_UINT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 64
[13] MGranularity = 16 | NGranularity = 16 | KGranularity = 32 | AType = VK_COMPONENT_TYPE_SINT8_KHR | BType = VK_COMPONENT_TYPE_SINT8_KHR | CType = VK_COMPONENT_TYPE_SINT32_KHR | ResultType = VK_COMPONENT_TYPE_SINT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 64
[14] MGranularity = 16 | NGranularity = 16 | KGranularity = 16 | AType = Unhandled VkComponentTypeKHR | BType = Unhandled VkComponentTypeKHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 64
[15] MGranularity = 32 | NGranularity = 16 | KGranularity = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT16_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT16_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 128
[16] MGranularity = 32 | NGranularity = 16 | KGranularity = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 128
[17] MGranularity = 32 | NGranularity = 16 | KGranularity = 32 | AType = VK_COMPONENT_TYPE_UINT8_KHR | BType = VK_COMPONENT_TYPE_UINT8_KHR | CType = VK_COMPONENT_TYPE_UINT32_KHR | ResultType = VK_COMPONENT_TYPE_UINT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 128
[18] MGranularity = 32 | NGranularity = 16 | KGranularity = 32 | AType = VK_COMPONENT_TYPE_SINT8_KHR | BType = VK_COMPONENT_TYPE_SINT8_KHR | CType = VK_COMPONENT_TYPE_SINT32_KHR | ResultType = VK_COMPONENT_TYPE_SINT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 128
[19] MGranularity = 32 | NGranularity = 16 | KGranularity = 16 | AType = Unhandled VkComponentTypeKHR | BType = Unhandled VkComponentTypeKHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 128
[20] MGranularity = 32 | NGranularity = 32 | KGranularity = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT16_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT16_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 256
[21] MGranularity = 32 | NGranularity = 32 | KGranularity = 16 | AType = VK_COMPONENT_TYPE_FLOAT16_KHR | BType = VK_COMPONENT_TYPE_FLOAT16_KHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 256
[22] MGranularity = 32 | NGranularity = 32 | KGranularity = 32 | AType = VK_COMPONENT_TYPE_UINT8_KHR | BType = VK_COMPONENT_TYPE_UINT8_KHR | CType = VK_COMPONENT_TYPE_UINT32_KHR | ResultType = VK_COMPONENT_TYPE_UINT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 256
[23] MGranularity = 32 | NGranularity = 32 | KGranularity = 32 | AType = VK_COMPONENT_TYPE_SINT8_KHR | BType = VK_COMPONENT_TYPE_SINT8_KHR | CType = VK_COMPONENT_TYPE_SINT32_KHR | ResultType = VK_COMPONENT_TYPE_SINT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 256
[24] MGranularity = 32 | NGranularity = 32 | KGranularity = 16 | AType = Unhandled VkComponentTypeKHR | BType = Unhandled VkComponentTypeKHR | CType = VK_COMPONENT_TYPE_FLOAT32_KHR | ResultType = VK_COMPONENT_TYPE_FLOAT32_KHR | scope = VK_SCOPE_WORKGROUP_KHR | workgroupInvocations = 256
.
The Vulkan spec states: For OpTypeCooperativeMatrixKHR, if the cooperativeMatrixFlexibleDimensions feature is enabled, the component type, scope, number of rows, and number of columns must match either one of the matrices in one of the supported VkCooperativeMatrixPropertiesKHR as described above, or one of the supported VkCooperativeMatrixFlexibleDimensionsPropertiesNV, where for MatrixA, the number of rows must be a multiple of VkCooperativeMatrixFlexibleDimensionsPropertiesNV::MGranularity and the number of columns must be a multiple of VkCooperativeMatrixFlexibleDimensionsPropertiesNV::KGranularity and the type must match VkCooperativeMatrixFlexibleDimensionsPropertiesNV::AType for MatrixB, the number of rows must be a multiple of VkCooperativeMatrixFlexibleDimensionsPropertiesNV::KGranularity and the number of columns must be a multiple of VkCooperativeMatrixFlexibleDimensionsPropertiesNV::NGranularity and the type must match VkCooperativeMatrixFlexibleDimensionsPropertiesNV::BType for MatrixAccumulator, the number of rows must be a multiple of VkCooperativeMatrixFlexibleDimensionsPropertiesNV::MGranularity and the number of columns must be a multiple of VkCooperativeMatrixFlexibleDimensionsPropertiesNV::NGranularity and the type must match VkCooperativeMatrixFlexibleDimensionsPropertiesNV::CType or VkCooperativeMatrixFlexibleDimensionsPropertiesNV::ResultType if the scope is VK_SCOPE_WORKGROUP_KHR, the number of invocations in the local workgroup must match VkCooperativeMatrixFlexibleDimensionsPropertiesNV::workgroupInvocations (https://docs.vulkan.org/spec/latest/appendices/spirvenv.html#VUID-RuntimeSpirv-cooperativeMatrixFlexibleDimensions-10165)
    Objects: 1
        [0] 0xe150c50000000097, type: 15, name: NULL

and for coopmat1 even a crash with validation layers enabled:

VUID-VkShaderModuleCreateInfo-pCode-08737(ERROR / SPEC): msgNum: -1520283006 - Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-08737 ] | MessageID = 0xa5625282 | vkCreateShaderModule(): pCreateInfo->pCode (spirv-val produced an error):
Invalid capability operand: 5116.
The Vulkan spec states: If pCode is a pointer to SPIR-V code, pCode must adhere to the validation rules described by the Validation Rules within a Module section of the SPIR-V Environment appendix (https://docs.vulkan.org/spec/latest/chapters/shaders.html#VUID-VkShaderModuleCreateInfo-pCode-08737)
VUID-VkShaderModuleCreateInfo-pCode-08739(ERROR / SPEC): msgNum: 1616057594 - Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-08739 ] | MessageID = 0x605314fa | vkCreateShaderModule(): SPIR-V has Capability (Unhandled OpCapability) declared, but this is not supported by Vulkan.
The Vulkan spec states: If pCode is a pointer to SPIR-V code, pCode must not declare any capability that is not supported by the API, as described by the Capabilities section of the SPIR-V Environment appendix (https://docs.vulkan.org/spec/latest/chapters/shaders.html#VUID-VkShaderModuleCreateInfo-pCode-08739)
VUID-VkShaderModuleCreateInfo-pCode-08739(ERROR / SPEC): msgNum: 1616057594 - Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-08739 ] | MessageID = 0x605314fa | vkCreateShaderModule(): SPIR-V has Capability (Unhandled OpCapability) declared, but this is not supported by Vulkan.
The Vulkan spec states: If pCode is a pointer to SPIR-V code, pCode must not declare any capability that is not supported by the API, as described by the Capabilities section of the SPIR-V Environment appendix (https://docs.vulkan.org/spec/latest/chapters/shaders.html#VUID-VkShaderModuleCreateInfo-pCode-08739)
VUID-VkShaderModuleCreateInfo-pCode-08741(ERROR / SPEC): msgNum: 9669426 - Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-08741 ] | MessageID = 0x938b32 | vkCreateShaderModule(): SPIR-V Extension SPV_KHR_bfloat16 was declared, but that is not supported by Vulkan.
The Vulkan spec states: If pCode is a pointer to SPIR-V code, pCode must not declare any SPIR-V extension that is not supported by the API, as described by the Extension section of the SPIR-V Environment appendix (https://docs.vulkan.org/spec/latest/chapters/shaders.html#VUID-VkShaderModuleCreateInfo-pCode-08741)
VUID-VkPipelineShaderStageCreateInfo-module-parameter(ERROR / SPEC): msgNum: -42869648 - Validation Error: [ VUID-VkPipelineShaderStageCreateInfo-module-parameter ] | MessageID = 0xfd71dc70 | vkCreateComputePipelines(): pCreateInfos[0].stage VkShaderModule 0xd68cbb0000000091[] failed in spirv-opt because it does not contain valid spirv for stage VK_SHADER_STAGE_COMPUTE_BIT. Invalid capability operand: 5116.
The Vulkan spec states: If module is not VK_NULL_HANDLE, module must be a valid VkShaderModule handle (https://docs.vulkan.org/spec/latest/chapters/pipelines.html#VUID-VkPipelineShaderStageCreateInfo-module-parameter)
VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06849(ERROR / SPEC): msgNum: 1132206547 - Validation Error: [ VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06849 ] | MessageID = 0x437c19d3 | vkCreateComputePipelines(): pCreateInfos[0].stage VkShaderModule 0xd68cbb0000000091[] shader (stage VK_SHADER_STAGE_COMPUTE_BIT) attempted to apply specialization constants with spirv-opt but failed.
The Vulkan spec states: If a shader module identifier is not specified, the shader code used by the pipeline must be valid as described by the Khronos SPIR-V Specification after applying the specializations provided in pSpecializationInfo, if any, and then converting all specialization constants into fixed constants (https://docs.vulkan.org/spec/latest/chapters/pipelines.html#VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06849)
test-backend-ops: /home/user/Vulkan-ValidationLayers/layers/state_tracker/shader_instruction.cpp:119: uint32_t spirv::Instruction::GetConstantValue() const: Assertion `Opcode() == spv::OpConstant' failed.

Considering both paths work fine, is this an issue with the implementation, the driver or the validation layers?

@jeffbolznv
Copy link
Collaborator Author

I'll follow up on the other errors when I get a chance. The thing about 5116 (bfloat capability) being missing suggests the spirv-val is kind of old, so maybe start by updating to a newer SDK?

@0cc4m
Copy link
Collaborator

0cc4m commented Sep 18, 2025

I'll follow up on the other errors when I get a chance. The thing about 5116 (bfloat capability) being missing suggests the spirv-val is kind of old, so maybe start by updating to a newer SDK?

I'll look into it, thank you.

@github-actions github-actions bot added Vulkan Issues specific to the Vulkan backend ggml changes relating to the ggml tensor library for machine learning labels Sep 18, 2025
@0cc4m
Copy link
Collaborator

0cc4m commented Sep 20, 2025

Yeah, my validation layers were older than I thought. Updating them fixed the problem.

@0cc4m 0cc4m merged commit 5bb4a3e into ggml-org:master Sep 21, 2025
53 of 55 checks passed
struct pushed a commit to struct/llama.cpp that referenced this pull request Sep 26, 2025
yael-works pushed a commit to yael-works/llama.cpp that referenced this pull request Oct 15, 2025
pwilkin pushed a commit to pwilkin/llama.cpp that referenced this pull request Oct 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ggml changes relating to the ggml tensor library for machine learning Vulkan Issues specific to the Vulkan backend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants