]> git.tdb.fi Git - libs/gl.git/blobdiff - tests/glsl/function_inline_global_name_conflict.glsl
Make variable renaming while inlining more robust
[libs/gl.git] / tests / glsl / function_inline_global_name_conflict.glsl
diff --git a/tests/glsl/function_inline_global_name_conflict.glsl b/tests/glsl/function_inline_global_name_conflict.glsl
new file mode 100644 (file)
index 0000000..8ebbfb4
--- /dev/null
@@ -0,0 +1,28 @@
+#pragma MSP stage(vertex)
+layout(location=0) in vec4 position;
+layout(location=1) in float scale;
+layout(location=2) in float size;
+float func()
+{
+       float scale = size*2.0;
+       return scale*scale;
+}
+void main()
+{
+       float size = scale+1.0;
+       float s = func()+1.0;
+       gl_Position = position*size*size*s*s;
+}
+
+/* Expected output: vertex
+layout(location=0) in vec4 position;
+layout(location=1) in float scale;
+layout(location=2) in float size;
+void main()
+{
+       float _main_size = scale+1.0;
+       float _func_scale = size*2.0;
+       float s = _func_scale*_func_scale+1.0;
+       gl_Position = position*_main_size*_main_size*s*s;
+}
+*/