Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

False positive VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06849 #8513

Closed
corporateshark opened this issue Sep 9, 2024 · 2 comments · Fixed by #8516
Closed

Comments

@corporateshark
Copy link
Contributor

Environment:

OS: Windows 10
GPU and driver version: GeForce RTX 3070 Ti; NVIDIA 560.94
SDK or header version if building from repo: VulkanSDK 1.3.290.0
Options enabled (synchronization, best practices, etc.): GPU-assisted validation enabled

Describe the Issue

Switching to VulkanSDK 1.3.290.0 resulted in this validation error:

ERROR:
Validation Error: [ VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06849 ] | MessageID = 0x437c19d3 |
vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[1]
After specialization was applied, VkShaderModule 0xcf89ea00000003c6[Shader Module: main (frag)]
produces a spirv-val error (stage VK_SHADER_STAGE_FRAGMENT_BIT):
Expected Image to have the same type as Result Type Image
  %85 = OpSampledImage %84 %76 %82
. 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://vulkan.lunarg.com/doc/view/1.3.290.0/windows/1.3-extensions/vkspec.html#VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06849)
VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06849(ERROR / SPEC):
msgNum: 1132206547 - Validation Error: [ VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06849 ] |
MessageID = 0x437c19d3 | vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[1]
After specialization was applied, VkShaderModule 0xcf89ea00000003c6[Shader Module: main (frag)]
produces a spirv-val error (stage VK_SHADER_STAGE_FRAGMENT_BIT):
Expected Image to have the same type as Result Type Image
  %85 = OpSampledImage %84 %76 %82
. 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://vulkan.lunarg.com/doc/view/1.3.290.0/windows/1.3-extensions/vkspec.html#VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06849)
    Objects: 0

Reproducible example:

Run Tiny_MeshLarge.

@spencer-lunarg
Copy link
Contributor

this should be fixed now with KhronosGroup/SPIRV-Tools#5789

let me grab the latest SPIR-V Tools

@spencer-lunarg
Copy link
Contributor

tested #8516 and the errors go away!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants