xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/420.frag (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1#version 420 core
2
3layout(depth_any) out float gl_FragDepth;
4layout(depth_greater) out float gl_FragDepth; // ERROR: redeclaration with different qualifier
5
6void main()
7{
8    gl_FragDepth = 0.3;
9}
10
11layout(depth_less) in float depth; // ERROR: depth_less only applies to gl_FragDepth
12layout(depth_any) out float gl_FragDepth;  // ERROR, done after use
13
14layout(binding=0) uniform atomic_uint a[];
15
16uniform writeonly image2D      i2D;
17ivec2 iv2dim = imageSize(i2D); // ERROR: imageSize called without enabling GL_ARB_shader_image_size extension
18#extension GL_ARB_shader_image_size : enable
19ivec2 iv2dim1 = imageSize(i2D);
20
21#extension GL_ARB_shader_storage_buffer_object : enable
22
23layout(binding = 0,std430) buffer Buffer
24{
25    int atomi;
26    uint atomu;
27};
28
29void atomicOpPass()
30{
31    int origi = atomicAdd(atomi, 3);
32    uint origu = atomicAnd(atomu, 7u);
33    origi = atomicExchange(atomi, 4);
34    origu = atomicCompSwap(atomu, 10u, 8u);
35}
36
37layout(binding = 2,std430) buffer ssboElem01
38{
39    int member01;
40    int memberArr01[2];
41    int memberUnsizedArr01[];
42} ssboStd430Arr[2];
43
44// if turns on EShReflectionSharedStd140SSBO, SPIR-V would be different
45layout(binding = 3,shared) buffer ssboElem02
46{
47    int member02;
48    int memberArr02[2];
49    int memberUnsizedArr02[];
50} ssboSharedArr[2];
51
52#extension GL_ARB_shader_storage_buffer_object : disable
53
54layout(binding = 1,std430) buffer BufferFail // Error std430 and "buffer" block support disabled
55{
56    int atom1i;
57};
58