#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; | |
buffer ShaderStorageBlock | |
{ | |
int value; | |
float values[]; | |
}; | |
buffer InvalidShaderStorageBlock | |
{ | |
float values[]; | |
int value; | |
} invalid; | |
void main() | |
{ | |
barrier(); | |
memoryBarrier(); | |
memoryBarrierAtomicCounter(); | |
memoryBarrierBuffer(); | |
memoryBarrierShared(); | |
memoryBarrierImage(); | |
groupMemoryBarrier(); | |
value = int(values[gl_LocalInvocationIndex]); | |
int a; | |
if (a > 10) | |
barrier(); | |
} | |
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_y = 1) in; | |
layout(local_size_y = 2) in; // ERROR, changing | |
layout(local_size_y = 1) in; | |
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]; | |
readonly buffer roblock | |
{ | |
int value; | |
float values[]; | |
} ro; | |
void foo() | |
{ | |
ro.values[2] = 4.7; // ERROR, readonly | |
ro.values.length(); | |
barrier(); | |
} | |
uniform double roll; | |
uniform writeonly image2D destTex; | |
void fooaoeu() { | |
ivec2 storePos = ivec2(gl_GlobalInvocationID.xy); | |
double localCoef = length(vec2(ivec2(gl_LocalInvocationID.xy)-8)/8.0); | |
dvec4 aa = dvec4(0.4, 0.2, 0.3, 0.4); | |
double globalCoef = 1.0; | |
int i = globalCoef; // ERROR, can't convert from double to int | |
double di = i; | |
} | |
in inb { // ERROR | |
int a; | |
} inbi; | |
out outb { // ERROR | |
int a; | |
} outbi; |