mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-10 04:20:06 +00:00
83170e3f7a
(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.
24 lines
548 B
Plaintext
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();
|
|
}
|