summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/glslang/Test/310.comp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/glslang/Test/310.comp')
-rw-r--r--3rdparty/bgfx/3rdparty/glslang/Test/310.comp256
1 files changed, 0 insertions, 256 deletions
diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/310.comp b/3rdparty/bgfx/3rdparty/glslang/Test/310.comp
deleted file mode 100644
index 33ecbf01893..00000000000
--- a/3rdparty/bgfx/3rdparty/glslang/Test/310.comp
+++ /dev/null
@@ -1,256 +0,0 @@
-#version 310 es
-
-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;
-layout(local_size_y = 0) in; // ERROR, 0 not allowed
-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]);
-}
-
-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();
- ++s;
-}
-
-buffer vec4 v; // ERROR
-
-uniform usampler2D us2dbad; // ERROR, default precision
-
-precision highp usampler2D;
-precision highp iimage2DArray;
-precision highp iimage2D;
-
-uniform usampler2D us2d;
-
-uniform iimage2DArray ii2dabad; // ERROR, not writeonly
-uniform writeonly iimage2DArray ii2da;
-
-layout(r32i) uniform iimage2D iimg2D;
-layout(rgba32i) uniform readonly iimage2D iimg2Drgba;
-layout(rgba32f) uniform readonly image2D img2Drgba; // ERROR, no default
-layout(r32ui) uniform uimage2D uimg2D; // ERROR, no default
-
-void qux()
-{
- int i = 4;
- imageAtomicCompSwap(iimg2D, ivec2(i,i), i, i);// ERROR no longer in 310
- imageAtomicAdd(uimg2D, ivec2(i,i), uint(i)); // ERROR no longer in 310
- imageAtomicMin(iimg2Drgba, ivec2(i,i), i); // ERROR no longer in 310 // ERROR iimg2Drgba does not have r32i layout
- imageAtomicMax(img2Drgba, ivec2(i,i), i); // ERROR no longer in 310 // ERROR img2Drgba is not integer image
- ivec4 pos = imageLoad(iimg2D, ivec2(i,i));
- imageStore(ii2da, ivec3(i,i,i), ivec4(0));
- imageLoad(img2Drgba, ivec2(i,i));
- imageLoad(ii2da, ivec3(i,i,i)); // ERROR, drops writeonly
-}
-
-volatile float vol; // ERROR, not an image
-readonly int vol2; // ERROR, not an image
-
-void passr(coherent readonly iimage2D image)
-{
-}
-
-layout(r32i) coherent readonly uniform iimage2D qualim1;
-layout(r32i) coherent restrict readonly uniform iimage2D qualim2;
-
-void passrc()
-{
- passr(qualim1); // ERROR, changing formats
- passr(qualim2); // ERROR, drops restrict, ERROR, changing formats
- passr(iimg2D); // ERROR, changing formats
-}
-
-highp layout(rg8i) uniform readonly uimage2D i1bad; // ERROR, type mismatch
-highp layout(rgba32i) uniform readonly image2D i2bad; // ERROR, type mismatch
-highp layout(rgba32f) uniform readonly uimage2D i3bad; // ERROR, type mismatch
-layout(r8_snorm) uniform readonly iimage2D i4bad; // ERROR, type mismatch
-layout(rgba32ui) uniform readonly iimage2D i5bad; // ERROR, type mismatch
-layout(r8ui) uniform readonly iimage2D i6bad; // ERROR, type mismatch
-
-layout(binding = 0) uniform atomic_uint counter;
-
-uint func(atomic_uint c)
-{
- return atomicCounterIncrement(c);
-}
-
-uint func2(out atomic_uint c) // ERROR, output
-{
- return counter; // ERROR, type mismatch
- return atomicCounter(counter);
-}
-
-void mainAC()
-{
- atomic_uint non_uniform_counter; // ERROR
- uint val = atomicCounter(counter);
- atomicCounterDecrement(counter);
-}
-
-layout(binding = 1) uniform mediump atomic_uint counterBad; // ERROR, not highp
-
-layout(binding = 2, offset = 4) uniform atomic_uint countArr[4];
-uniform int i;
-
-void opac()
-{
- int a[3];
- a[counter]; // ERROR, non-integer
- countArr[2];
- countArr[i];
-}
-
-shared int atomi;
-shared uint atomu;
-
-void atoms()
-{
- int origi = atomicAdd(atomi, 3);
- uint origu = atomicAnd(atomu, 7u);
- origi = atomicExchange(atomi, 4);
- origu = atomicCompSwap(atomu, 10u, 8u);
-}
-
-precision highp atomic_uint;
-precision lowp atomic_uint; // ERROR
-
-precise int pfoo; // ERROR, reserved
-
-dmat2x4 dm; // ERROR
-uniform samplerCubeArray sca; // ERROR
-uniform iimage2DRect i2dr; // ERROR
-highp uniform image2DMS i2dms; // ERROR
-uniform uimage2DMSArray u2dmsa; // ERROR
-
-highp layout(r32f) coherent volatile restrict readonly writeonly uniform image2D okay1;
- layout(r32i) coherent volatile restrict readonly uniform iimage2D okay2;
-highp layout(r32ui) coherent volatile restrict writeonly uniform uimage2D okay3;
-highp layout(r32f) coherent volatile restrict uniform image2D okay4;
-
-highp layout(rgba32f) coherent volatile restrict uniform image2D badQ1; // ERROR, bad qualifiers
- layout(rgba8i) coherent volatile restrict uniform iimage2D badQ2; // ERROR, bad qualifiers
-highp layout(rgba16ui) coherent volatile restrict uniform uimage2D badQ3; // ERROR, bad qualifiers
-
-writeonly buffer woblock
-{
- int value;
- float values[];
-} wo;
-
-void foowo()
-{
- float g;
- g = wo.values[2]; // ERROR, writeonly
- float f = wo.values[2]; // ERROR, writeonly
- ++wo.values[2]; // ERROR, writeonly
- wo.values[2]--; // ERROR, writeonly
- f + wo.values[2]; // ERROR, writeonly
- wo.values[2] - f; // ERROR, writeonly
- bool b;
- b ? f : wo.values[2]; // ERROR, writeonly
- b ? wo.values[2] : f; // ERROR, writeonly
- if (f == wo.values[2]) // ERROR, writeonly
- ++f;
- if (f >= wo.values[2]) // ERROR, writeonly
- ++f;
- f = vec3(wo.values[2]).x; // ERROR, writeonly
- ~wo.value; // ERROR, writeonly
- wo.values[2] = 3.4;
-}
-
-buffer multioblock
-{
- readonly int value;
- writeonly float values[];
-} multio;
-
-void foomultio()
-{
- float g;
- g = wo.values[2]; // ERROR, writeonly
- ~wo.value;
- wo.values[2] = 3.4;
- wo.value = 2; // ERROR, readonly
-}
-
-in inb { // ERROR
- int a;
-} inbi;
-
-out outb { // ERROR
- int a;
-} outbi;
-
-float t__; // ERROR, no __ until revision 310
-
- // ERROR, no __ until revision 310
-#define __D
-
-shared vec4 arr[2][3][4];
-
-void devi()
-{
- gl_DeviceIndex; // ERROR, no extension
- gl_ViewIndex; // ERROR, never this stage
-}
-
-#ifdef GL_EXT_device_group
-#extension GL_EXT_device_group : enable
-#endif
-
-void devie()
-{
- gl_DeviceIndex;
- gl_ViewIndex; // ERROR, never this stage
-}