You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.4 KiB
58 lines
1.4 KiB
#version 420 core
|
|
|
|
layout(depth_any) out float gl_FragDepth;
|
|
layout(depth_greater) out float gl_FragDepth; // ERROR: redeclaration with different qualifier
|
|
|
|
void main()
|
|
{
|
|
gl_FragDepth = 0.3;
|
|
}
|
|
|
|
layout(depth_less) in float depth; // ERROR: depth_less only applies to gl_FragDepth
|
|
layout(depth_any) out float gl_FragDepth; // ERROR, done after use
|
|
|
|
layout(binding=0) uniform atomic_uint a[];
|
|
|
|
uniform writeonly image2D i2D;
|
|
ivec2 iv2dim = imageSize(i2D); // ERROR: imageSize called without enabling GL_ARB_shader_image_size extension
|
|
#extension GL_ARB_shader_image_size : enable
|
|
ivec2 iv2dim1 = imageSize(i2D);
|
|
|
|
#extension GL_ARB_shader_storage_buffer_object : enable
|
|
|
|
layout(binding = 0,std430) buffer Buffer
|
|
{
|
|
int atomi;
|
|
uint atomu;
|
|
};
|
|
|
|
void atomicOpPass()
|
|
{
|
|
int origi = atomicAdd(atomi, 3);
|
|
uint origu = atomicAnd(atomu, 7u);
|
|
origi = atomicExchange(atomi, 4);
|
|
origu = atomicCompSwap(atomu, 10u, 8u);
|
|
}
|
|
|
|
layout(binding = 2,std430) buffer ssboElem01
|
|
{
|
|
int member01;
|
|
int memberArr01[2];
|
|
int memberUnsizedArr01[];
|
|
} ssboStd430Arr[2];
|
|
|
|
// if turns on EShReflectionSharedStd140SSBO, SPIR-V would be different
|
|
layout(binding = 3,shared) buffer ssboElem02
|
|
{
|
|
int member02;
|
|
int memberArr02[2];
|
|
int memberUnsizedArr02[];
|
|
} ssboSharedArr[2];
|
|
|
|
#extension GL_ARB_shader_storage_buffer_object : disable
|
|
|
|
layout(binding = 1,std430) buffer BufferFail // Error std430 and "buffer" block support disabled
|
|
{
|
|
int atom1i;
|
|
};
|