Front-ends: Non-functional: Rationalize vector and matrix swizzles.

This reduces code duplication in a few ways, and better encapsulates
vector swizzle representation.
This commit is contained in:
John Kessenich 2017-01-13 19:34:22 -07:00
parent 0a76a1870c
commit c142c88967
12 changed files with 269 additions and 340 deletions

View file

@ -15,11 +15,9 @@ ERROR: 0:63: 'bitwise-or assign' : not supported for this version or the enabled
ERROR: 0:63: 'assign' : cannot convert from 'temp bool' to 'temp float'
ERROR: 0:79: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type 'temp 4-component vector of float' and a right operand of type 'temp 4X4 matrix of float' (or there is no acceptable conversion)
ERROR: 0:79: 'assign' : cannot convert from 'temp 4X4 matrix of float' to 'fragColor 4-component vector of float FragColor'
ERROR: 0:82: 'xr' : illegal - vector component fields not from the same set
ERROR: 0:83: 'xyxyx' : illegal vector field selection
ERROR: 0:83: 'scalar swizzle' : not supported for this version or the enabled extensions
ERROR: 0:83: 'xy' : vector field selection out of range
ERROR: 0:84: 'z' : vector field selection out of range
ERROR: 0:82: 'xr' : vector swizzle selectors not from the same set
ERROR: 0:83: 'xyxyx' : vector swizzle too long
ERROR: 0:84: 'z' : vector swizzle selection out of range
ERROR: 0:85: 'assign' : l-value required
ERROR: 0:91: 'int' : overloaded functions must have the same return type
ERROR: 0:91: 'main' : function already has a body
@ -52,7 +50,7 @@ ERROR: 0:191: 'shadow2DProjGradARB' : required extension not requested: GL_ARB_s
ERROR: 0:209: 'shadow2DRectProjGradARB' : no matching overloaded function found
ERROR: 0:209: 'assign' : cannot convert from 'const float' to 'temp 4-component vector of float'
ERROR: 0:212: 'sampler2DRect' : Reserved word.
ERROR: 53 compilation errors. No code generated.
ERROR: 51 compilation errors. No code generated.
Shader version: 120
@ -251,10 +249,23 @@ ERROR: node is still EOpNull!
0:82 'gl_FragColor' (fragColor 4-component vector of float FragColor)
0:82 Constant:
0:82 0 (const int)
0:83 direct index (temp float)
0:83 'gl_FragColor' (fragColor 4-component vector of float FragColor)
0:83 Constant:
0:83 0 (const int)
0:83 vector swizzle (temp 2-component vector of float)
0:83 vector swizzle (temp 4-component vector of float)
0:83 'gl_FragColor' (fragColor 4-component vector of float FragColor)
0:83 Sequence
0:83 Constant:
0:83 0 (const int)
0:83 Constant:
0:83 1 (const int)
0:83 Constant:
0:83 0 (const int)
0:83 Constant:
0:83 1 (const int)
0:83 Sequence
0:83 Constant:
0:83 0 (const int)
0:83 Constant:
0:83 1 (const int)
0:84 direct index (temp float)
0:84 'centTexCoord' (centroid smooth in 2-component vector of float)
0:84 Constant: