SPIRV-Cross/reference/opt/shaders/frag/lut-promotion.frag
Hans-Kristian Arntzen af75ef005f Update glslang and SPIRV-Tools.
A lot of changes in spirv-opt output.
Some new invalid SPIR-V was found but most of them were not significant
for SPIRV-Cross, so just marked them as invalid.
2018-09-27 11:10:22 +02:00

42 lines
912 B
GLSL

#version 310 es
precision mediump float;
precision highp int;
const float _16[16] = float[](1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0, 4.0);
const vec4 _60[4] = vec4[](vec4(0.0), vec4(1.0), vec4(8.0), vec4(5.0));
const vec4 _104[4] = vec4[](vec4(20.0), vec4(30.0), vec4(50.0), vec4(60.0));
layout(location = 0) out float FragColor;
layout(location = 0) flat in mediump int index;
void main()
{
FragColor = _16[index];
if (index < 10)
{
FragColor += _16[index ^ 1];
}
else
{
FragColor += _16[index & 1];
}
bool _63 = index > 30;
if (_63)
{
FragColor += _60[index & 3].y;
}
else
{
FragColor += _60[index & 1].x;
}
vec4 foobar[4] = _60;
if (_63)
{
foobar[1].z = 20.0;
}
mediump int _91 = index & 3;
FragColor += foobar[_91].z;
FragColor += _104[_91].z;
}