26 lines
556 B
Plaintext
26 lines
556 B
Plaintext
|
#version 450
|
||
|
#extension GL_KHR_shader_subgroup_basic : require
|
||
|
layout(local_size_x = 1) in;
|
||
|
|
||
|
layout(std430, binding = 0) buffer SSBO
|
||
|
{
|
||
|
float FragColor;
|
||
|
};
|
||
|
|
||
|
// Reduced test for emulated functionality.
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
// basic
|
||
|
FragColor = float(gl_NumSubgroups);
|
||
|
FragColor = float(gl_SubgroupID);
|
||
|
FragColor = float(gl_SubgroupSize);
|
||
|
FragColor = float(gl_SubgroupInvocationID);
|
||
|
subgroupBarrier();
|
||
|
subgroupMemoryBarrier();
|
||
|
subgroupMemoryBarrierBuffer();
|
||
|
subgroupMemoryBarrierShared();
|
||
|
subgroupMemoryBarrierImage();
|
||
|
bool elected = subgroupElect();
|
||
|
}
|