Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2020-06-29 14:23:13 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2020-06-29 14:35:46 +0300
commit4d79d634f5d03e4a0bc50f518c476793f20370c9 (patch)
tree74eb3fd1656b9bcb69ec8e66700833978c483b18 /reference/opt/shaders
parentbae76d791597b1a009a268ef7e83f7f445314043 (diff)
GLSL: Implement switch on ESSL 1.0.
Cannot use switch on legacy ESSL, fallback to plain branches.
Diffstat (limited to 'reference/opt/shaders')
-rw-r--r--reference/opt/shaders/legacy/fragment/switch.legacy.frag77
1 files changed, 77 insertions, 0 deletions
diff --git a/reference/opt/shaders/legacy/fragment/switch.legacy.frag b/reference/opt/shaders/legacy/fragment/switch.legacy.frag
new file mode 100644
index 00000000..21a4d673
--- /dev/null
+++ b/reference/opt/shaders/legacy/fragment/switch.legacy.frag
@@ -0,0 +1,77 @@
+#version 100
+precision mediump float;
+precision highp int;
+
+varying highp float vIndexF;
+
+void main()
+{
+ int _13 = int(vIndexF);
+ highp vec4 _65;
+ highp vec4 _66;
+ highp vec4 _68;
+ for (int SPIRV_Cross_Dummy = 0; SPIRV_Cross_Dummy < 1; SPIRV_Cross_Dummy++)
+ {
+ if (_13 == 2)
+ {
+ _68 = vec4(0.0, 2.0, 3.0, 4.0);
+ break;
+ }
+ else if ((_13 == 4) || (_13 == 5))
+ {
+ _68 = vec4(1.0, 2.0, 3.0, 4.0);
+ break;
+ }
+ else if ((_13 == 8) || (_13 == 9))
+ {
+ _68 = vec4(40.0, 20.0, 30.0, 40.0);
+ break;
+ }
+ else if (_13 == 10)
+ {
+ _65 = vec4(10.0);
+ highp vec4 _45 = _65 + vec4(1.0);
+ _66 = _45;
+ highp vec4 _48 = _66 + vec4(2.0);
+ _68 = _48;
+ break;
+ }
+ else if (_13 == 11)
+ {
+ _65 = vec4(0.0);
+ highp vec4 _45 = _65 + vec4(1.0);
+ _66 = _45;
+ highp vec4 _48 = _66 + vec4(2.0);
+ _68 = _48;
+ break;
+ }
+ else if (_13 == 12)
+ {
+ _66 = vec4(0.0);
+ highp vec4 _48 = _66 + vec4(2.0);
+ _68 = _48;
+ break;
+ }
+ else
+ {
+ _68 = vec4(10.0, 20.0, 30.0, 40.0);
+ break;
+ }
+ }
+ highp vec4 _70;
+ for (int SPIRV_Cross_Dummy = 0; SPIRV_Cross_Dummy < 1; SPIRV_Cross_Dummy++)
+ {
+ if ((_13 == 10) || (_13 == 20))
+ {
+ _70 = vec4(40.0);
+ break;
+ }
+ else
+ {
+ _70 = vec4(20.0);
+ break;
+ }
+ }
+ gl_FragData[0] = _68 + _70;
+}
+