]> git.tdb.fi Git - libs/gl.git/commitdiff
Add another variation of a partially unused interface block
authorMikko Rasa <tdb@tdb.fi>
Sun, 7 Mar 2021 16:32:04 +0000 (18:32 +0200)
committerMikko Rasa <tdb@tdb.fi>
Sun, 7 Mar 2021 16:32:04 +0000 (18:32 +0200)
I discovered a case where the compiler behaves incorrectly so recording
it here.

tests/glsl/partially_unused_interface_block.glsl

index 82b8b1dac0682ed03ec0de362a20abbe61dc1acb..240ddcfa056567d2f570dabe995ec8645add79c5 100644 (file)
@@ -1,3 +1,9 @@
+uniform GlobalValues
+{
+       vec4 tint;
+       vec2 scale;
+};
+
 #pragma MSP stage(vertex)
 layout(location=0) in vec4 position;
 layout(location=1) in vec4 color;
@@ -8,7 +14,7 @@ out VertexOut
 } vs_out;
 void main()
 {
-       vs_out.texcoord = position.xy*0.5+0.5;
+       vs_out.texcoord = position.xy*scale*0.5+0.5;
        vs_out.color = color;
        gl_Position = position;
 }
@@ -17,10 +23,16 @@ void main()
 layout(location=0) out vec4 frag_color;
 void main()
 {
-       frag_color = vs_out.color;
+       scale = vec2(1.0);
+       frag_color = vs_out.color*tint;
 }
 
 /* Expected output: vertex
+uniform GlobalValues
+{
+       vec4 tint;
+       vec2 scale;
+};
 layout(location=0) in vec4 position;
 layout(location=1) in vec4 color;
 out VertexOut
@@ -30,13 +42,18 @@ out VertexOut
 } vs_out;
 void main()
 {
-       vs_out.texcoord = position.xy*0.5+0.5;
+       vs_out.texcoord = position.xy*scale*0.5+0.5;
        vs_out.color = color;
        gl_Position = position;
 }
 */
 
 /* Expected output: fragment
+uniform GlobalValues
+{
+       vec4 tint;
+       vec2 scale;
+};
 layout(location=0) out vec4 frag_color;
 in VertexOut
 {
@@ -45,6 +62,6 @@ in VertexOut
 } vs_out;
 void main()
 {
-       frag_color = vs_out.color;
+       frag_color = vs_out.color*tint;
 }
 */