DirectXShaderCompiler icon indicating copy to clipboard operation
DirectXShaderCompiler copied to clipboard

[SPIRV] Validation Error on 16 bit data storage even after enabling extension

Open TheArheus opened this issue 3 years ago • 0 comments

I wanted to use 16bit data storage extension, but I encountered validation error even though I have enabled extensions. I am building shader with this command:

C:\DirectXShaderCompiler.bin\Debug\bin\dxc.exe -spirv -T ms_6_5 -E main ..\shaders\object.mesh.hlsl -Fo ..\shaders\object.mesh.spv -enable-16bit-types -fspv-target-env=vulkan1.2 -fspv-extension=SPV_NV_mesh_shader -fspv-extension=SPV_KHR_16bit_storage

And I got next error: Validation Error: [ VUID-VkShaderModuleCreateInfo-pCode-01091 ] Object 0: handle = 0x16b0447a990, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xa7bb8db6 | vkCreateShaderModule(): The SPIR-V Capability (Int16) was declared, but none of the requirements were met to use it. The Vulkan spec states: If pCode declares any of the capabilities listed in the SPIR-V Environment appendix, one of the corresponding requirements must be satisfied (https://vulkan.lunarg.com/doc/view/1.3.224.1/windows/1.3-extensions/vkspec.html#VUID-VkShaderModuleCreateInfo-pCode-01091)

I activated required extensions in device and instance, so it should be fine. But that's seems there is some bug in spirv generator

TheArheus avatar Sep 03 '22 18:09 TheArheus