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 <hans-kristian.arntzen@arm.com>2018-03-12 19:34:54 +0300
committerHans-Kristian Arntzen <hans-kristian.arntzen@arm.com>2018-03-12 19:34:54 +0300
commit938c7debed1322e6b560ca4b89ef536e40be7953 (patch)
tree3f14f96e49d35b2c6dc87f2226b165c9e7c9a804 /reference/opt/shaders/desktop-only
parent012377f81111d4245071800c231888620a275940 (diff)
Handle control-dependent temporaries.
Derivatives, subgroup and implicit-lod instructions all need to happen in the block they were created.
Diffstat (limited to 'reference/opt/shaders/desktop-only')
-rw-r--r--reference/opt/shaders/desktop-only/frag/control-dependent-in-branch.desktop.frag37
1 files changed, 37 insertions, 0 deletions
diff --git a/reference/opt/shaders/desktop-only/frag/control-dependent-in-branch.desktop.frag b/reference/opt/shaders/desktop-only/frag/control-dependent-in-branch.desktop.frag
new file mode 100644
index 00000000..29c59012
--- /dev/null
+++ b/reference/opt/shaders/desktop-only/frag/control-dependent-in-branch.desktop.frag
@@ -0,0 +1,37 @@
+#version 450
+
+layout(binding = 0) uniform sampler2D uSampler;
+
+layout(location = 0) out vec4 FragColor;
+layout(location = 0) in vec4 vInput;
+
+void main()
+{
+ FragColor = vInput;
+ vec4 _23 = texture(uSampler, vInput.xy);
+ vec4 _26 = dFdx(vInput);
+ vec4 _29 = dFdy(vInput);
+ vec4 _32 = fwidth(vInput);
+ vec4 _35 = dFdxCoarse(vInput);
+ vec4 _38 = dFdyCoarse(vInput);
+ vec4 _41 = fwidthCoarse(vInput);
+ vec4 _44 = dFdxFine(vInput);
+ vec4 _47 = dFdyFine(vInput);
+ vec4 _50 = fwidthFine(vInput);
+ vec2 _56 = textureQueryLod(uSampler, vInput.zw);
+ if (vInput.y > 10.0)
+ {
+ FragColor += _23;
+ FragColor += _26;
+ FragColor += _29;
+ FragColor += _32;
+ FragColor += _35;
+ FragColor += _38;
+ FragColor += _41;
+ FragColor += _44;
+ FragColor += _47;
+ FragColor += _50;
+ FragColor += _56.xyxy;
+ }
+}
+