glslang/Test/glsl.es320.subgroupBasic.comp
Daniel Koch 83170e3f7a Enable GL_KHR_shader_subgroup properly
(and GL_NV_shader_subgroup_partitioned) based on GL/ES version
instead of predicating it on vulkan SPV generation

Also add AST testing.
The glsl.450.subgroup* files are largely the same as the spv.subgroup*
The glsl.es320.subgroup* files are the same as the 450 versions, but modified to be ES compatible.
2019-03-26 13:45:33 -04:00

24 lines
548 B
Plaintext

#version 320 es
#extension GL_KHR_shader_subgroup_basic: enable
layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
layout(binding = 0) buffer Buffer
{
int a[];
} data;
void main()
{
data.a[gl_SubgroupSize] = 1;
data.a[gl_SubgroupInvocationID] = 1;
data.a[gl_NumSubgroups] = 1;
data.a[gl_SubgroupID] = (subgroupElect()) ? 1 : 0;
subgroupBarrier();
subgroupMemoryBarrier();
subgroupMemoryBarrierBuffer();
subgroupMemoryBarrierShared();
subgroupMemoryBarrierImage();
}