#version 430 core | |
layout(local_size_x = 2) in; | |
layout(local_size_x = 16) in; // ERROR, changing | |
layout(local_size_z = 4096) in; // ERROR, too large | |
layout(local_size_x = 2) in; | |
const int total = gl_MaxComputeWorkGroupCount.y | |
+ gl_MaxComputeUniformComponents | |
+ gl_MaxComputeTextureImageUnits | |
+ gl_MaxComputeImageUniforms | |
+ gl_MaxComputeAtomicCounters | |
+ gl_MaxComputeAtomicCounterBuffers; | |
void main() | |
{ | |
barrier(); | |
memoryBarrier(); | |
memoryBarrierAtomicCounter(); | |
memoryBarrierBuffer(); | |
memoryBarrierShared(); | |
memoryBarrierImage(); | |
groupMemoryBarrier(); | |
} | |
layout(location = 2) in vec3 v3; // ERROR | |
in float f; // ERROR | |
out float fo; // ERROR | |
shared vec4 s; | |
layout(location = 2) shared vec4 sl; // ERROR | |
shared float fs = 4.2; // ERROR | |
layout(local_size_x = 2, local_size_y = 3, local_size_z = 4) out; // ERROR | |
int arrX[gl_WorkGroupSize.x]; | |
int arrY[gl_WorkGroupSize.y]; | |
int arrZ[gl_WorkGroupSize.z]; |