glslang/Test/baseResults/300block.frag.out
John Kessenich af459216a1 Correct precision qualification on built-in functions.
This is a replacement commit for pull request #238.

This is a design change, followed by implementation change that
A) fixes the changes caused by the design change, and
B) fixes some cases that were originally incorrect.

The design change is to not give built-in functions default precision qualification.
This is to allow the rule that the precision of some built-in functions adopt their
precision qualification from the calling arguments.  This is A above.

A consequence of this design change is that all built-ins that are supposed to have
an explicit precision qualifier must now be declared that way.  So, a lot more
built-in declarations now have precision qualifiers, just to keep things the same.
This is B above.
2016-05-03 19:34:00 -06:00

154 lines
14 KiB
Plaintext

300block.frag
ERROR: 0:10: '' : cannot nest a structure definition inside a structure or block
ERROR: 0:21: '' : cannot nest a structure definition inside a structure or block
ERROR: 0:20: 'sampler' : member of block cannot be or contain a sampler, image, or atomic_uint type
ERROR: 0:24: 'fbs' : member of block cannot be or contain a sampler, image, or atomic_uint type
ERROR: 0:45: 'variable indexing uniform block array' : not supported for this version or the enabled extensions
ERROR: 0:46: 'fooBlock' : cannot be used (maybe an instance name is needed)
ERROR: 0:46: 'fooBlock' : undeclared identifier
ERROR: 0:47: 'constructor' : not enough data provided for construction
ERROR: 0:51: 'unreferenced' : cannot be used (maybe an instance name is needed)
ERROR: 0:51: 'unreferenced' : undeclared identifier
ERROR: 0:52: '++' : l-value required "s" (can't modify a uniform)
ERROR: 0:52: '++' : wrong operand type no operation '++' exists that takes an operand of type uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} (or there is no acceptable conversion)
ERROR: 0:53: '-' : wrong operand types: no operation '-' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}' and a right operand of type 'const int' (or there is no acceptable conversion)
ERROR: 0:55: 'barBlockArray' : cannot be used (maybe an instance name is needed)
ERROR: 0:55: 'barBlockArray' : undeclared identifier
ERROR: 0:55: '*' : wrong operand types: no operation '*' exists that takes a left-hand operand of type 'const int' and a right operand of type 'temp float' (or there is no acceptable conversion)
ERROR: 0:58: 'fooBlock' : redefinition
ERROR: 17 compilation errors. No code generated.
Shader version: 300
ERROR: node is still EOpNull!
0:42 Function Definition: main( (global void)
0:42 Function Parameters:
0:44 Sequence
0:44 texture (global lowp 4-component vector of int)
0:44 sampler: direct index for structure (global lowp isampler3D)
0:44 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:44 Constant:
0:44 2 (const int)
0:44 Construct vec3 (temp lowp 3-component vector of float)
0:44 Convert int to float (temp lowp float)
0:44 ni: direct index for structure (layout(column_major shared ) uniform mediump int)
0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44 Constant:
0:44 1 (const int)
0:44 Convert uint to float (temp lowp float)
0:44 direct index (temp mediump uint)
0:44 bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
0:44 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
0:44 Constant:
0:44 0 (const uint)
0:44 Constant:
0:44 1 (const int)
0:44 Convert uint to float (temp lowp float)
0:44 direct index (temp mediump uint)
0:44 nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
0:44 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44 Constant:
0:44 2 (const int)
0:44 Constant:
0:44 0 (const int)
0:44 Constant:
0:44 2 (const int)
0:45 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:45 direct index (temp mediump uint)
0:45 v: direct index for structure (global mediump 4-component vector of uint)
0:45 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:45 Constant:
0:45 1 (const int)
0:45 Constant:
0:45 0 (const int)
0:46 'fooBlock' (temp float)
0:47 Constant:
0:47 0.000000
0:50 Construct mat4 (temp 4X4 matrix of float)
0:50 'barBlock' (temp mediump float)
0:51 Construct mat4 (temp 4X4 matrix of float)
0:51 'unreferenced' (temp float)
0:52 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:53 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:54 Pre-Increment (temp mediump float)
0:54 'barBlock' (temp mediump float)
0:55 Constant:
0:55 2 (const int)
0:? Linker Objects
0:? 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u})
Linked fragment stage:
Shader version: 300
ERROR: node is still EOpNull!
0:42 Function Definition: main( (global void)
0:42 Function Parameters:
0:44 Sequence
0:44 texture (global lowp 4-component vector of int)
0:44 sampler: direct index for structure (global lowp isampler3D)
0:44 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:44 Constant:
0:44 2 (const int)
0:44 Construct vec3 (temp lowp 3-component vector of float)
0:44 Convert int to float (temp lowp float)
0:44 ni: direct index for structure (layout(column_major shared ) uniform mediump int)
0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44 Constant:
0:44 1 (const int)
0:44 Convert uint to float (temp lowp float)
0:44 direct index (temp mediump uint)
0:44 bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
0:44 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
0:44 Constant:
0:44 0 (const uint)
0:44 Constant:
0:44 1 (const int)
0:44 Convert uint to float (temp lowp float)
0:44 direct index (temp mediump uint)
0:44 nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
0:44 direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44 Constant:
0:44 2 (const int)
0:44 Constant:
0:44 0 (const int)
0:44 Constant:
0:44 2 (const int)
0:45 indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:45 direct index (temp mediump uint)
0:45 v: direct index for structure (global mediump 4-component vector of uint)
0:45 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:45 Constant:
0:45 1 (const int)
0:45 Constant:
0:45 0 (const int)
0:46 'fooBlock' (temp float)
0:47 Constant:
0:47 0.000000
0:50 Construct mat4 (temp 4X4 matrix of float)
0:50 'barBlock' (temp mediump float)
0:51 Construct mat4 (temp 4X4 matrix of float)
0:51 'unreferenced' (temp float)
0:52 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:53 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:54 Pre-Increment (temp mediump float)
0:54 'barBlock' (temp mediump float)
0:55 Constant:
0:55 2 (const int)
0:? Linker Objects
0:? 's' (uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t})
0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{global mediump int a} t, layout(column_major shared ) uniform structure{global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{global mediump int a} t} fbs})
0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u})