mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
Front-end ESSL: require precision declarations for images.
This commit is contained in:
parent
9000bd5eb6
commit
ac666e7368
@ -78,8 +78,8 @@ uniform writeonly iimage2DArray ii2da;
|
||||
|
||||
layout(r32i) uniform iimage2D iimg2D;
|
||||
layout(rgba32i) uniform readonly iimage2D iimg2Drgba;
|
||||
layout(rgba32f) uniform readonly image2D img2Drgba;
|
||||
layout(r32ui) uniform uimage2D uimg2D;
|
||||
layout(rgba32f) uniform readonly image2D img2Drgba; // ERROR, no default
|
||||
layout(r32ui) uniform uimage2D uimg2D; // ERROR, no default
|
||||
|
||||
void qux()
|
||||
{
|
||||
@ -111,9 +111,9 @@ void passrc()
|
||||
passr(iimg2D);
|
||||
}
|
||||
|
||||
layout(rg8i) uniform readonly uimage2D i1bad; // ERROR, type mismatch
|
||||
layout(rgba32i) uniform readonly image2D i2bad; // ERROR, type mismatch
|
||||
layout(rgba32f) uniform readonly uimage2D i3bad; // ERROR, type mismatch
|
||||
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
|
||||
@ -170,17 +170,17 @@ precise int pfoo; // ERROR, reserved
|
||||
dmat2x4 dm; // ERROR
|
||||
uniform samplerCubeArray sca; // ERROR
|
||||
uniform iimage2DRect i2dr; // ERROR
|
||||
uniform image2DMS i2dms; // ERROR
|
||||
highp uniform image2DMS i2dms; // ERROR
|
||||
uniform uimage2DMSArray u2dmsa; // ERROR
|
||||
|
||||
layout(r32f) coherent volatile restrict readonly writeonly uniform image2D okay1;
|
||||
layout(r32i) coherent volatile restrict readonly uniform iimage2D okay2;
|
||||
layout(r32ui) coherent volatile restrict writeonly uniform uimage2D okay3;
|
||||
layout(r32f) coherent volatile restrict uniform image2D okay4;
|
||||
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;
|
||||
|
||||
layout(rgba32f) coherent volatile restrict uniform image2D badQ1; // ERROR, bad qualifiers
|
||||
layout(rgba8i) coherent volatile restrict uniform iimage2D badQ2; // ERROR, bad qualifiers
|
||||
layout(rgba16ui) coherent volatile restrict uniform uimage2D badQ3; // ERROR, bad qualifiers
|
||||
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
|
||||
{
|
||||
|
@ -62,11 +62,11 @@ void foo23()
|
||||
|
||||
layout(binding=3) uniform sampler2D s1;
|
||||
layout(binding=3) uniform sampler2D s2; // ERROR: overlapping bindings? Don't see that in the 310 spec.
|
||||
layout(binding=2) uniform writeonly image2D i2D;
|
||||
layout(binding=4) uniform readonly image3D i3D;
|
||||
layout(binding=5) uniform imageCube iCube;
|
||||
layout(binding=6) uniform image2DArray i2DA;
|
||||
layout(binding=6) uniform coherent volatile restrict image2D i2Dqualified;
|
||||
highp layout(binding=2) uniform writeonly image2D i2D;
|
||||
layout(binding=4) uniform readonly image3D i3D; // ERROR, no default precision
|
||||
layout(binding=5) uniform imageCube iCube; // ERROR, no default precision
|
||||
layout(binding=6) uniform image2DArray i2DA; // ERROR, no default precision
|
||||
layout(binding=6) uniform coherent volatile restrict image2D i2Dqualified; // ERROR, no default precision
|
||||
|
||||
layout(binding = 1) uniform bb {
|
||||
int foo;
|
||||
@ -93,7 +93,7 @@ layout(shared) uniform bshar {
|
||||
in smooth vec4 smoothIn;
|
||||
in flat int flatIn;
|
||||
|
||||
uniform sampler2DMS s2dms;
|
||||
uniform sampler2DMS s2dms; // ERROR, no default precision qualifier
|
||||
|
||||
void foots()
|
||||
{
|
||||
@ -108,7 +108,7 @@ void foots()
|
||||
}
|
||||
|
||||
out bool bout; // ERROR
|
||||
out image2D imageOut; // ERROR
|
||||
highp out image2D imageOut; // ERROR
|
||||
out mat2x3 mout; // ERROR
|
||||
|
||||
in bool inb; // ERROR
|
||||
@ -201,7 +201,7 @@ uniform int sIndex;
|
||||
layout(binding = 0) uniform atomic_uint auArray[2];
|
||||
uniform ubName { int i; } ubInst[4];
|
||||
buffer bbName { int i; } bbInst[4];
|
||||
uniform writeonly image2D iArray[5];
|
||||
highp uniform writeonly image2D iArray[5];
|
||||
const ivec2 constOffsets[4] = ivec2[4](ivec2(0.1), ivec2(0.2), ivec2(0.3), ivec2(0.4));
|
||||
|
||||
void pfooBad()
|
||||
|
@ -147,7 +147,7 @@ uniform int sIndex;
|
||||
layout(binding = 0) uniform atomic_uint auArray[2];
|
||||
uniform ubName { int i; } ubInst[4];
|
||||
buffer bbName { int i; } bbInst[4];
|
||||
uniform writeonly image2D iArray[5];
|
||||
highp uniform writeonly image2D iArray[5];
|
||||
const ivec2 constOffsets[4] = ivec2[4](ivec2(0.1), ivec2(0.2), ivec2(0.3), ivec2(0.4));
|
||||
|
||||
void pfooBad()
|
||||
@ -158,10 +158,10 @@ void pfooBad()
|
||||
auArray[sIndex + 1];
|
||||
ubInst[1];
|
||||
bbInst[2];
|
||||
ubInst[sIndex + 1]; // ERRRO, not supported
|
||||
bbInst[sIndex]; // ERRRO, not supported
|
||||
ubInst[sIndex + 1]; // ERROR, not supported
|
||||
bbInst[sIndex]; // ERROR, not supported
|
||||
iArray[2];
|
||||
iArray[sIndex * 2]; // ERRRO, not supported
|
||||
iArray[sIndex * 2]; // ERROR, not supported
|
||||
textureGatherOffset(sArray[0], vec2(0.1), ivec2(inf)); // ERROR, offset not constant
|
||||
textureGatherOffsets(sArray[0], vec2(0.1), constOffsets); // ERROR, not available
|
||||
}
|
||||
|
@ -17,6 +17,8 @@ ERROR: 0:61: 'assign' : l-value required "ro" (can't modify a readonly buffer)
|
||||
ERROR: 0:66: 'buffer' : buffers can be declared only as blocks
|
||||
ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:76: '' : image variables not declared 'writeonly' must have a format layout qualifier
|
||||
ERROR: 0:81: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:82: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:87: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
|
||||
ERROR: 0:88: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
|
||||
ERROR: 0:89: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
|
||||
@ -79,7 +81,7 @@ ERROR: 0:227: 'input block' : not supported in this stage: compute
|
||||
ERROR: 0:231: 'output block' : not supported in this stage: compute
|
||||
WARNING: 0:235: 't__' : identifiers containing consecutive underscores ("__") are reserved
|
||||
WARNING: 0:238: '#define' : names containing consecutive underscores are reserved: __D
|
||||
ERROR: 77 compilation errors. No code generated.
|
||||
ERROR: 79 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 310
|
||||
@ -143,7 +145,7 @@ ERROR: node is still EOpNull!
|
||||
0:87 'i' (temp highp int)
|
||||
0:87 'i' (temp highp int)
|
||||
0:88 imageAtomicAdd (global highp uint)
|
||||
0:88 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
|
||||
0:88 'uimg2D' (layout(r32ui ) uniform mediump uimage2D)
|
||||
0:88 Construct ivec2 (temp highp 2-component vector of int)
|
||||
0:88 'i' (temp highp int)
|
||||
0:88 'i' (temp highp int)
|
||||
@ -177,7 +179,7 @@ ERROR: node is still EOpNull!
|
||||
0:92 0 (const int)
|
||||
0:92 0 (const int)
|
||||
0:93 imageLoad (global highp 4-component vector of float)
|
||||
0:93 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
|
||||
0:93 'img2Drgba' (layout(rgba32f ) readonly uniform mediump image2D)
|
||||
0:93 Construct ivec2 (temp highp 2-component vector of int)
|
||||
0:93 'i' (temp highp int)
|
||||
0:93 'i' (temp highp int)
|
||||
@ -467,14 +469,14 @@ ERROR: node is still EOpNull!
|
||||
0:? 'ii2da' (writeonly uniform highp iimage2DArray)
|
||||
0:? 'iimg2D' (layout(r32i ) uniform highp iimage2D)
|
||||
0:? 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
|
||||
0:? 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
|
||||
0:? 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
|
||||
0:? 'img2Drgba' (layout(rgba32f ) readonly uniform mediump image2D)
|
||||
0:? 'uimg2D' (layout(r32ui ) uniform mediump uimage2D)
|
||||
0:? 'vol' (volatile temp highp float)
|
||||
0:? 'vol2' (readonly temp highp int)
|
||||
0:? 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
|
||||
0:? 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
|
||||
0:? 'i1bad' (layout(rg8i ) readonly uniform highp uimage2D)
|
||||
0:? 'i2bad' (layout(rgba32i ) readonly uniform lowp image2D)
|
||||
0:? 'i2bad' (layout(rgba32i ) readonly uniform highp image2D)
|
||||
0:? 'i3bad' (layout(rgba32f ) readonly uniform highp uimage2D)
|
||||
0:? 'i4bad' (layout(r8_snorm ) readonly uniform highp iimage2D)
|
||||
0:? 'i5bad' (layout(rgba32ui ) readonly uniform highp iimage2D)
|
||||
@ -489,13 +491,13 @@ ERROR: node is still EOpNull!
|
||||
0:? 'dm' (global 2X4 matrix of double)
|
||||
0:? 'sca' (uniform mediump samplerCubeArray)
|
||||
0:? 'i2dr' (uniform mediump iimage2DRect)
|
||||
0:? 'i2dms' (uniform lowp image2DMS)
|
||||
0:? 'i2dms' (uniform highp image2DMS)
|
||||
0:? 'u2dmsa' (uniform mediump uimage2DMSArray)
|
||||
0:? 'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform lowp image2D)
|
||||
0:? 'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform highp image2D)
|
||||
0:? 'okay2' (layout(r32i ) coherent volatile restrict readonly uniform highp iimage2D)
|
||||
0:? 'okay3' (layout(r32ui ) coherent volatile restrict writeonly uniform highp uimage2D)
|
||||
0:? 'okay4' (layout(r32f ) coherent volatile restrict uniform lowp image2D)
|
||||
0:? 'badQ1' (layout(rgba32f ) coherent volatile restrict uniform lowp image2D)
|
||||
0:? 'okay4' (layout(r32f ) coherent volatile restrict uniform highp image2D)
|
||||
0:? 'badQ1' (layout(rgba32f ) coherent volatile restrict uniform highp image2D)
|
||||
0:? 'badQ2' (layout(rgba8i ) coherent volatile restrict uniform highp iimage2D)
|
||||
0:? 'badQ3' (layout(rgba16ui ) coherent volatile restrict uniform highp uimage2D)
|
||||
0:? 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
|
||||
@ -570,7 +572,7 @@ ERROR: node is still EOpNull!
|
||||
0:87 'i' (temp highp int)
|
||||
0:87 'i' (temp highp int)
|
||||
0:88 imageAtomicAdd (global highp uint)
|
||||
0:88 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
|
||||
0:88 'uimg2D' (layout(r32ui ) uniform mediump uimage2D)
|
||||
0:88 Construct ivec2 (temp highp 2-component vector of int)
|
||||
0:88 'i' (temp highp int)
|
||||
0:88 'i' (temp highp int)
|
||||
@ -604,7 +606,7 @@ ERROR: node is still EOpNull!
|
||||
0:92 0 (const int)
|
||||
0:92 0 (const int)
|
||||
0:93 imageLoad (global highp 4-component vector of float)
|
||||
0:93 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
|
||||
0:93 'img2Drgba' (layout(rgba32f ) readonly uniform mediump image2D)
|
||||
0:93 Construct ivec2 (temp highp 2-component vector of int)
|
||||
0:93 'i' (temp highp int)
|
||||
0:93 'i' (temp highp int)
|
||||
@ -894,14 +896,14 @@ ERROR: node is still EOpNull!
|
||||
0:? 'ii2da' (writeonly uniform highp iimage2DArray)
|
||||
0:? 'iimg2D' (layout(r32i ) uniform highp iimage2D)
|
||||
0:? 'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
|
||||
0:? 'img2Drgba' (layout(rgba32f ) readonly uniform lowp image2D)
|
||||
0:? 'uimg2D' (layout(r32ui ) uniform highp uimage2D)
|
||||
0:? 'img2Drgba' (layout(rgba32f ) readonly uniform mediump image2D)
|
||||
0:? 'uimg2D' (layout(r32ui ) uniform mediump uimage2D)
|
||||
0:? 'vol' (volatile temp highp float)
|
||||
0:? 'vol2' (readonly temp highp int)
|
||||
0:? 'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
|
||||
0:? 'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
|
||||
0:? 'i1bad' (layout(rg8i ) readonly uniform highp uimage2D)
|
||||
0:? 'i2bad' (layout(rgba32i ) readonly uniform lowp image2D)
|
||||
0:? 'i2bad' (layout(rgba32i ) readonly uniform highp image2D)
|
||||
0:? 'i3bad' (layout(rgba32f ) readonly uniform highp uimage2D)
|
||||
0:? 'i4bad' (layout(r8_snorm ) readonly uniform highp iimage2D)
|
||||
0:? 'i5bad' (layout(rgba32ui ) readonly uniform highp iimage2D)
|
||||
@ -916,13 +918,13 @@ ERROR: node is still EOpNull!
|
||||
0:? 'dm' (global 2X4 matrix of double)
|
||||
0:? 'sca' (uniform mediump samplerCubeArray)
|
||||
0:? 'i2dr' (uniform mediump iimage2DRect)
|
||||
0:? 'i2dms' (uniform lowp image2DMS)
|
||||
0:? 'i2dms' (uniform highp image2DMS)
|
||||
0:? 'u2dmsa' (uniform mediump uimage2DMSArray)
|
||||
0:? 'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform lowp image2D)
|
||||
0:? 'okay1' (layout(r32f ) coherent volatile restrict readonly writeonly uniform highp image2D)
|
||||
0:? 'okay2' (layout(r32i ) coherent volatile restrict readonly uniform highp iimage2D)
|
||||
0:? 'okay3' (layout(r32ui ) coherent volatile restrict writeonly uniform highp uimage2D)
|
||||
0:? 'okay4' (layout(r32f ) coherent volatile restrict uniform lowp image2D)
|
||||
0:? 'badQ1' (layout(rgba32f ) coherent volatile restrict uniform lowp image2D)
|
||||
0:? 'okay4' (layout(r32f ) coherent volatile restrict uniform highp image2D)
|
||||
0:? 'badQ1' (layout(rgba32f ) coherent volatile restrict uniform highp image2D)
|
||||
0:? 'badQ2' (layout(rgba8i ) coherent volatile restrict uniform highp iimage2D)
|
||||
0:? 'badQ3' (layout(rgba16ui ) coherent volatile restrict uniform highp uimage2D)
|
||||
0:? 'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
|
||||
|
@ -20,9 +20,11 @@ ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset,
|
||||
ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
|
||||
ERROR: 0:66: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:66: '' : image variables not declared 'writeonly' must have a format layout qualifier
|
||||
ERROR: 0:67: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:67: '' : image variables not declared 'writeonly' must have a format layout qualifier
|
||||
ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:68: '' : image variables not declared 'writeonly' must have a format layout qualifier
|
||||
ERROR: 0:69: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:69: '' : image variables not declared 'writeonly' must have a format layout qualifier
|
||||
ERROR: 0:73: 'binding' : requires block, or sampler/image, or atomic-counter type
|
||||
ERROR: 0:77: 'location' : location is too large
|
||||
@ -31,6 +33,7 @@ ERROR: 0:82: 'location' : too large for fragment output
|
||||
ERROR: 0:82: 'location' : overlapping use of location 40
|
||||
ERROR: 0:83: 'non-literal layout-id value' : not supported with this profile: es
|
||||
ERROR: 0:83: 'layout-id value' : cannot be negative
|
||||
ERROR: 0:96: 'sampler/image' : type requires declaration of default precision qualifier
|
||||
ERROR: 0:110: 'out' : cannot be bool
|
||||
ERROR: 0:111: 'image2D' : sampler/image types can only be used in uniform variables or function parameters: imageOut
|
||||
ERROR: 0:111: '' : image variables not declared 'writeonly' must have a format layout qualifier
|
||||
@ -130,7 +133,7 @@ ERROR: 0:427: 'blend equation' : can only apply to a standalone qualifier
|
||||
ERROR: 0:428: 'blend equation' : can only apply to a standalone qualifier
|
||||
ERROR: 0:429: 'blend_support' : unknown blend equation
|
||||
ERROR: 0:431: 'fragment-shader array-of-array output' : not supported with this profile: es
|
||||
ERROR: 122 compilation errors. No code generated.
|
||||
ERROR: 125 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 310
|
||||
@ -351,7 +354,7 @@ ERROR: node is still EOpNull!
|
||||
0:102 move second child to first child (temp highp 2-component vector of int)
|
||||
0:102 'v2' (temp highp 2-component vector of int)
|
||||
0:102 textureSize (global highp 2-component vector of int)
|
||||
0:102 's2dms' (uniform highp sampler2DMS)
|
||||
0:102 's2dms' (uniform mediump sampler2DMS)
|
||||
0:103 move second child to first child (temp highp 2-component vector of int)
|
||||
0:103 'v2' (temp highp 2-component vector of int)
|
||||
0:103 imageQuerySize (global highp 2-component vector of int)
|
||||
@ -363,7 +366,7 @@ ERROR: node is still EOpNull!
|
||||
0:105 move second child to first child (temp highp 2-component vector of int)
|
||||
0:105 'v2' (temp highp 2-component vector of int)
|
||||
0:105 imageQuerySize (global highp 2-component vector of int)
|
||||
0:105 'iCube' (layout(binding=5 ) uniform lowp imageCube)
|
||||
0:105 'iCube' (layout(binding=5 ) uniform mediump imageCube)
|
||||
0:106 move second child to first child (temp highp 3-component vector of int)
|
||||
0:106 'v3' (temp highp 3-component vector of int)
|
||||
0:106 imageQuerySize (global highp 3-component vector of int)
|
||||
@ -371,7 +374,7 @@ ERROR: node is still EOpNull!
|
||||
0:107 move second child to first child (temp highp 2-component vector of int)
|
||||
0:107 'v2' (temp highp 2-component vector of int)
|
||||
0:107 imageQuerySize (global highp 2-component vector of int)
|
||||
0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
|
||||
0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D)
|
||||
0:165 Function Definition: fooIO( (global void)
|
||||
0:165 Function Parameters:
|
||||
0:167 Sequence
|
||||
@ -928,9 +931,9 @@ ERROR: node is still EOpNull!
|
||||
0:? 's2' (layout(binding=3 ) uniform highp sampler2D)
|
||||
0:? 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
|
||||
0:? 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
|
||||
0:? 'iCube' (layout(binding=5 ) uniform lowp imageCube)
|
||||
0:? 'iCube' (layout(binding=5 ) uniform mediump imageCube)
|
||||
0:? 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
|
||||
0:? 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
|
||||
0:? 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D)
|
||||
0:? 'bbi' (layout(binding=1 column_major shared ) uniform block{layout(column_major shared ) uniform mediump int foo, layout(binding=2 column_major shared ) uniform mediump float f})
|
||||
0:? 'centroidIn' (centroid smooth in mediump 4-component vector of float)
|
||||
0:? 'bigl' (uniform mediump 4-component vector of float)
|
||||
@ -941,7 +944,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'bshari' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int i})
|
||||
0:? 'smoothIn' (smooth in mediump 4-component vector of float)
|
||||
0:? 'flatIn' (flat in mediump int)
|
||||
0:? 's2dms' (uniform highp sampler2DMS)
|
||||
0:? 's2dms' (uniform mediump sampler2DMS)
|
||||
0:? 'bout' (out bool)
|
||||
0:? 'imageOut' (out highp image2D)
|
||||
0:? 'mout' (out mediump 2X3 matrix of float)
|
||||
@ -1232,7 +1235,7 @@ ERROR: node is still EOpNull!
|
||||
0:102 move second child to first child (temp highp 2-component vector of int)
|
||||
0:102 'v2' (temp highp 2-component vector of int)
|
||||
0:102 textureSize (global highp 2-component vector of int)
|
||||
0:102 's2dms' (uniform highp sampler2DMS)
|
||||
0:102 's2dms' (uniform mediump sampler2DMS)
|
||||
0:103 move second child to first child (temp highp 2-component vector of int)
|
||||
0:103 'v2' (temp highp 2-component vector of int)
|
||||
0:103 imageQuerySize (global highp 2-component vector of int)
|
||||
@ -1244,7 +1247,7 @@ ERROR: node is still EOpNull!
|
||||
0:105 move second child to first child (temp highp 2-component vector of int)
|
||||
0:105 'v2' (temp highp 2-component vector of int)
|
||||
0:105 imageQuerySize (global highp 2-component vector of int)
|
||||
0:105 'iCube' (layout(binding=5 ) uniform lowp imageCube)
|
||||
0:105 'iCube' (layout(binding=5 ) uniform mediump imageCube)
|
||||
0:106 move second child to first child (temp highp 3-component vector of int)
|
||||
0:106 'v3' (temp highp 3-component vector of int)
|
||||
0:106 imageQuerySize (global highp 3-component vector of int)
|
||||
@ -1252,7 +1255,7 @@ ERROR: node is still EOpNull!
|
||||
0:107 move second child to first child (temp highp 2-component vector of int)
|
||||
0:107 'v2' (temp highp 2-component vector of int)
|
||||
0:107 imageQuerySize (global highp 2-component vector of int)
|
||||
0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
|
||||
0:107 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D)
|
||||
0:165 Function Definition: fooIO( (global void)
|
||||
0:165 Function Parameters:
|
||||
0:167 Sequence
|
||||
@ -1809,9 +1812,9 @@ ERROR: node is still EOpNull!
|
||||
0:? 's2' (layout(binding=3 ) uniform highp sampler2D)
|
||||
0:? 'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
|
||||
0:? 'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
|
||||
0:? 'iCube' (layout(binding=5 ) uniform lowp imageCube)
|
||||
0:? 'iCube' (layout(binding=5 ) uniform mediump imageCube)
|
||||
0:? 'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
|
||||
0:? 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform highp image2D)
|
||||
0:? 'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D)
|
||||
0:? 'bbi' (layout(binding=1 column_major shared ) uniform block{layout(column_major shared ) uniform mediump int foo, layout(binding=2 column_major shared ) uniform mediump float f})
|
||||
0:? 'centroidIn' (centroid smooth in mediump 4-component vector of float)
|
||||
0:? 'bigl' (uniform mediump 4-component vector of float)
|
||||
@ -1822,7 +1825,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'bshari' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int i})
|
||||
0:? 'smoothIn' (smooth in mediump 4-component vector of float)
|
||||
0:? 'flatIn' (flat in mediump int)
|
||||
0:? 's2dms' (uniform highp sampler2DMS)
|
||||
0:? 's2dms' (uniform mediump sampler2DMS)
|
||||
0:? 'bout' (out bool)
|
||||
0:? 'imageOut' (out highp image2D)
|
||||
0:? 'mout' (out mediump 2X3 matrix of float)
|
||||
|
@ -291,8 +291,8 @@ ERROR: node is still EOpNull!
|
||||
0:156 'inf' (in highp 2-component vector of float)
|
||||
0:156 'ing' (in highp 2-component vector of float)
|
||||
0:156 'h' (noContraction temp highp 2-component vector of float)
|
||||
0:157 indirect index (temp highp sampler2D)
|
||||
0:157 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:157 indirect index (temp lowp sampler2D)
|
||||
0:157 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:157 add (temp highp int)
|
||||
0:157 'sIndex' (uniform highp int)
|
||||
0:157 Constant:
|
||||
@ -330,19 +330,19 @@ ERROR: node is still EOpNull!
|
||||
0:164 'sIndex' (uniform highp int)
|
||||
0:164 Constant:
|
||||
0:164 2 (const int)
|
||||
0:165 textureGatherOffset (global highp 4-component vector of float)
|
||||
0:165 direct index (temp highp sampler2D)
|
||||
0:165 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:165 textureGatherOffset (global lowp 4-component vector of float)
|
||||
0:165 direct index (temp lowp sampler2D)
|
||||
0:165 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:165 Constant:
|
||||
0:165 0 (const int)
|
||||
0:165 Constant:
|
||||
0:165 0.100000
|
||||
0:165 0.100000
|
||||
0:165 Convert float to int (temp highp 2-component vector of int)
|
||||
0:165 Convert float to int (temp lowp 2-component vector of int)
|
||||
0:165 'inf' (in highp 2-component vector of float)
|
||||
0:166 textureGatherOffsets (global highp 4-component vector of float)
|
||||
0:166 direct index (temp highp sampler2D)
|
||||
0:166 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:166 textureGatherOffsets (global lowp 4-component vector of float)
|
||||
0:166 direct index (temp lowp sampler2D)
|
||||
0:166 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:166 Constant:
|
||||
0:166 0 (const int)
|
||||
0:166 Constant:
|
||||
@ -366,8 +366,8 @@ ERROR: node is still EOpNull!
|
||||
0:174 'inf' (in highp 2-component vector of float)
|
||||
0:174 'ing' (in highp 2-component vector of float)
|
||||
0:174 'h' (noContraction temp highp 2-component vector of float)
|
||||
0:175 indirect index (temp highp sampler2D)
|
||||
0:175 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:175 indirect index (temp lowp sampler2D)
|
||||
0:175 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:175 add (temp highp int)
|
||||
0:175 'sIndex' (uniform highp int)
|
||||
0:175 Constant:
|
||||
@ -394,19 +394,19 @@ ERROR: node is still EOpNull!
|
||||
0:179 'sIndex' (uniform highp int)
|
||||
0:179 Constant:
|
||||
0:179 2 (const int)
|
||||
0:180 textureGatherOffset (global highp 4-component vector of float)
|
||||
0:180 direct index (temp highp sampler2D)
|
||||
0:180 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:180 textureGatherOffset (global lowp 4-component vector of float)
|
||||
0:180 direct index (temp lowp sampler2D)
|
||||
0:180 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:180 Constant:
|
||||
0:180 0 (const int)
|
||||
0:180 Constant:
|
||||
0:180 0.100000
|
||||
0:180 0.100000
|
||||
0:180 Convert float to int (temp highp 2-component vector of int)
|
||||
0:180 Convert float to int (temp lowp 2-component vector of int)
|
||||
0:180 'inf' (in highp 2-component vector of float)
|
||||
0:181 textureGatherOffsets (global highp 4-component vector of float)
|
||||
0:181 direct index (temp highp sampler2D)
|
||||
0:181 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:181 textureGatherOffsets (global lowp 4-component vector of float)
|
||||
0:181 direct index (temp lowp sampler2D)
|
||||
0:181 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:181 Constant:
|
||||
0:181 0 (const int)
|
||||
0:181 Constant:
|
||||
@ -421,9 +421,9 @@ ERROR: node is still EOpNull!
|
||||
0:181 0 (const int)
|
||||
0:181 0 (const int)
|
||||
0:181 0 (const int)
|
||||
0:182 textureGatherOffsets (global highp 4-component vector of float)
|
||||
0:182 direct index (temp highp sampler2D)
|
||||
0:182 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:182 textureGatherOffsets (global lowp 4-component vector of float)
|
||||
0:182 direct index (temp lowp sampler2D)
|
||||
0:182 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:182 Constant:
|
||||
0:182 0 (const int)
|
||||
0:182 Constant:
|
||||
@ -927,7 +927,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'us2dms' (uniform highp usampler2DMS)
|
||||
0:? 'us2dmsa' (uniform mediump usampler2DMSArray)
|
||||
0:? 'outb' (smooth out bool)
|
||||
0:? 'outo' (smooth out highp sampler2D)
|
||||
0:? 'outo' (smooth out lowp sampler2D)
|
||||
0:? 'outa' (smooth out 4-element array of highp float)
|
||||
0:? 'outaa' (smooth out 4-element array of 2-element array of highp float)
|
||||
0:? 'outs' (smooth out structure{global highp float f})
|
||||
@ -949,7 +949,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'inf' (in highp 2-component vector of float)
|
||||
0:? 'ing' (in highp 2-component vector of float)
|
||||
0:? 'offsets' (uniform 4-element array of highp 2-component vector of int)
|
||||
0:? 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:? 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:? 'sIndex' (uniform highp int)
|
||||
0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
|
||||
0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
|
||||
@ -1222,8 +1222,8 @@ ERROR: node is still EOpNull!
|
||||
0:156 'inf' (in highp 2-component vector of float)
|
||||
0:156 'ing' (in highp 2-component vector of float)
|
||||
0:156 'h' (noContraction temp highp 2-component vector of float)
|
||||
0:157 indirect index (temp highp sampler2D)
|
||||
0:157 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:157 indirect index (temp lowp sampler2D)
|
||||
0:157 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:157 add (temp highp int)
|
||||
0:157 'sIndex' (uniform highp int)
|
||||
0:157 Constant:
|
||||
@ -1261,19 +1261,19 @@ ERROR: node is still EOpNull!
|
||||
0:164 'sIndex' (uniform highp int)
|
||||
0:164 Constant:
|
||||
0:164 2 (const int)
|
||||
0:165 textureGatherOffset (global highp 4-component vector of float)
|
||||
0:165 direct index (temp highp sampler2D)
|
||||
0:165 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:165 textureGatherOffset (global lowp 4-component vector of float)
|
||||
0:165 direct index (temp lowp sampler2D)
|
||||
0:165 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:165 Constant:
|
||||
0:165 0 (const int)
|
||||
0:165 Constant:
|
||||
0:165 0.100000
|
||||
0:165 0.100000
|
||||
0:165 Convert float to int (temp highp 2-component vector of int)
|
||||
0:165 Convert float to int (temp lowp 2-component vector of int)
|
||||
0:165 'inf' (in highp 2-component vector of float)
|
||||
0:166 textureGatherOffsets (global highp 4-component vector of float)
|
||||
0:166 direct index (temp highp sampler2D)
|
||||
0:166 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:166 textureGatherOffsets (global lowp 4-component vector of float)
|
||||
0:166 direct index (temp lowp sampler2D)
|
||||
0:166 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:166 Constant:
|
||||
0:166 0 (const int)
|
||||
0:166 Constant:
|
||||
@ -1297,8 +1297,8 @@ ERROR: node is still EOpNull!
|
||||
0:174 'inf' (in highp 2-component vector of float)
|
||||
0:174 'ing' (in highp 2-component vector of float)
|
||||
0:174 'h' (noContraction temp highp 2-component vector of float)
|
||||
0:175 indirect index (temp highp sampler2D)
|
||||
0:175 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:175 indirect index (temp lowp sampler2D)
|
||||
0:175 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:175 add (temp highp int)
|
||||
0:175 'sIndex' (uniform highp int)
|
||||
0:175 Constant:
|
||||
@ -1325,19 +1325,19 @@ ERROR: node is still EOpNull!
|
||||
0:179 'sIndex' (uniform highp int)
|
||||
0:179 Constant:
|
||||
0:179 2 (const int)
|
||||
0:180 textureGatherOffset (global highp 4-component vector of float)
|
||||
0:180 direct index (temp highp sampler2D)
|
||||
0:180 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:180 textureGatherOffset (global lowp 4-component vector of float)
|
||||
0:180 direct index (temp lowp sampler2D)
|
||||
0:180 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:180 Constant:
|
||||
0:180 0 (const int)
|
||||
0:180 Constant:
|
||||
0:180 0.100000
|
||||
0:180 0.100000
|
||||
0:180 Convert float to int (temp highp 2-component vector of int)
|
||||
0:180 Convert float to int (temp lowp 2-component vector of int)
|
||||
0:180 'inf' (in highp 2-component vector of float)
|
||||
0:181 textureGatherOffsets (global highp 4-component vector of float)
|
||||
0:181 direct index (temp highp sampler2D)
|
||||
0:181 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:181 textureGatherOffsets (global lowp 4-component vector of float)
|
||||
0:181 direct index (temp lowp sampler2D)
|
||||
0:181 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:181 Constant:
|
||||
0:181 0 (const int)
|
||||
0:181 Constant:
|
||||
@ -1352,9 +1352,9 @@ ERROR: node is still EOpNull!
|
||||
0:181 0 (const int)
|
||||
0:181 0 (const int)
|
||||
0:181 0 (const int)
|
||||
0:182 textureGatherOffsets (global highp 4-component vector of float)
|
||||
0:182 direct index (temp highp sampler2D)
|
||||
0:182 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:182 textureGatherOffsets (global lowp 4-component vector of float)
|
||||
0:182 direct index (temp lowp sampler2D)
|
||||
0:182 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:182 Constant:
|
||||
0:182 0 (const int)
|
||||
0:182 Constant:
|
||||
@ -1858,7 +1858,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'us2dms' (uniform highp usampler2DMS)
|
||||
0:? 'us2dmsa' (uniform mediump usampler2DMSArray)
|
||||
0:? 'outb' (smooth out bool)
|
||||
0:? 'outo' (smooth out highp sampler2D)
|
||||
0:? 'outo' (smooth out lowp sampler2D)
|
||||
0:? 'outa' (smooth out 4-element array of highp float)
|
||||
0:? 'outaa' (smooth out 4-element array of 2-element array of highp float)
|
||||
0:? 'outs' (smooth out structure{global highp float f})
|
||||
@ -1880,7 +1880,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'inf' (in highp 2-component vector of float)
|
||||
0:? 'ing' (in highp 2-component vector of float)
|
||||
0:? 'offsets' (uniform 4-element array of highp 2-component vector of int)
|
||||
0:? 'sArray' (uniform 4-element array of highp sampler2D)
|
||||
0:? 'sArray' (uniform 4-element array of lowp sampler2D)
|
||||
0:? 'sIndex' (uniform highp int)
|
||||
0:? 'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
|
||||
0:? 'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
|
||||
|
@ -2871,11 +2871,17 @@ void TParseContext::setDefaultPrecision(const TSourceLoc& loc, TPublicType& publ
|
||||
// correlates with the declaration of defaultSamplerPrecision[]
|
||||
int TParseContext::computeSamplerTypeIndex(TSampler& sampler)
|
||||
{
|
||||
int arrayIndex = sampler.arrayed ? 1 : 0;
|
||||
int shadowIndex = sampler.shadow ? 1 : 0;
|
||||
int externalIndex = sampler.external ? 1 : 0;
|
||||
int arrayIndex = sampler.arrayed ? 1 : 0;
|
||||
int shadowIndex = sampler.shadow ? 1 : 0;
|
||||
int externalIndex = sampler.external? 1 : 0;
|
||||
int imageIndex = sampler.image ? 1 : 0;
|
||||
int msIndex = sampler.ms ? 1 : 0;
|
||||
|
||||
return EsdNumDims * (EbtNumTypes * (2 * (2 * arrayIndex + shadowIndex) + externalIndex) + sampler.type) + sampler.dim;
|
||||
int flattened = EsdNumDims * (EbtNumTypes * (2 * (2 * (2 * (2 * arrayIndex + msIndex) + imageIndex) + shadowIndex) +
|
||||
externalIndex) + sampler.type) + sampler.dim;
|
||||
assert(flattened < maxSamplerIndex);
|
||||
|
||||
return flattened;
|
||||
}
|
||||
|
||||
TPrecisionQualifier TParseContext::getDefaultPrecision(TPublicType& publicType)
|
||||
|
@ -335,7 +335,7 @@ protected:
|
||||
TParseContext& operator=(TParseContext&);
|
||||
|
||||
const bool parsingBuiltins; // true if parsing built-in symbols/functions
|
||||
static const int maxSamplerIndex = EsdNumDims * (EbtNumTypes * (2 * 2 * 2)); // see computeSamplerTypeIndex()
|
||||
static const int maxSamplerIndex = EsdNumDims * (EbtNumTypes * (2 * 2 * 2 * 2 * 2)); // see computeSamplerTypeIndex()
|
||||
TPrecisionQualifier defaultSamplerPrecision[maxSamplerIndex];
|
||||
bool afterEOF;
|
||||
TQualifier globalBufferDefaults;
|
||||
|
Loading…
Reference in New Issue
Block a user