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.
This commit is contained in:
23
Test/glsl.es320.subgroupBasic.comp
Normal file
23
Test/glsl.es320.subgroupBasic.comp
Normal file
@@ -0,0 +1,23 @@
|
||||
#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();
|
||||
}
|
||||
Reference in New Issue
Block a user