[SPIRV] Validation Error on 16 bit data storage even after enabling extension
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