Open AndreasReiten opened 6 years ago
Do I understand that glslang worked correctly, but a validation component does not know about the extension? If so, I think that is an issue to file with the validation component.
@chrisforbes do you have any insight here?
It's a bit out of my depth to say if glslang or the validation layer is the offender. Please let me know if you think I should open an issue with KhronosGroup/Vulkan-LoaderAndValidationLayers.
Hello, thanks for maintaining this software! It has worked flawlessly for me until I ran into the following issue while implementing a cross-platform stream compaction algorithm with the extension GL_ARB_shader_ballot: The following shader compiles just fine in using glslangValidator.exe:
However, at runtime vkCreateShaderModule reports the following error upon consuming the SPIR-V code: _VK_DEBUG_REPORT_ERROR_BITEXT [SC] SPIR-V module not valid: Operand 3 of Decorate requires one of these capabilities: Kernel (5)
The error only appears when using gl_SubGroupInvocationARB or gl_SubGroupSizeARB, and not for the other variables and functions in the extension. The device is created with the extension VK_EXT_shader_subgroup_ballot and with the shaderInt64 device feature.
Relevant system info: Geforce GTX 1070 - latest drivers. glslang is the latest version, and so is the SDK.
Here is the generated SPIR-V code in human readable format: