mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-14 13:51:04 +00:00
05a62bf528
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29347 e7fa87d3-cd2b-0410-9028-fcbf551c1848
69 lines
1.5 KiB
Plaintext
69 lines
1.5 KiB
Plaintext
#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[]; // ERROR
|
|
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_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();
|
|
}
|