This might be a duplicate of issue #2532, but I thought I'd report to be sure.
Alongside the Vulkan 1.1 core subgroup functionality, a new GLSL extension GL_KHR_shader_subgroup was introduced. Using any functionality from this extension results in this validation layer error message upon shader creation with vkCreateShaderModule:
SPIR-V module not valid: Invalid capability operand: 61
However, shaders using subgroups still seem to work correctly. I have confirmed that subgroup extensions are supported by my Vulkan logical device, and that vkEnumerateInstanceVersion returns version > 1.1. The device api-version is also > 1.1. The SPIR-V binaries were created using glslangValidator with target-env vulkan1.1.
I use a Nvidia GTX 1070. Latest drivers (non-beta). Latest LunarG SDK. Both my windows and unix OSes report the same error.
Example shader code to reproduce this error:
#version 450
#extension GL_KHR_shader_subgroup_basic : require
layout (local_size_x = 128) in;
void main()
{
uint num_subgroups = gl_NumSubgroups;
}
Here's my vulkaninfo:
vulkaninfo.txt
I'm new to this repository, so please let me know if there is anything else I can do to clarify the issue.