diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2010-08-27 12:23:42 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-08-27 12:23:42 -0700 |
commit | af2054470a7f7ed4e45a96bcc2df3dda4a81efe5 (patch) | |
tree | d55a40282adc2990bb00e7ef2ac4070a85396002 | |
parent | 3c955b0a018b0a9693f5a768b3ca03dfba0409ef (diff) |
Add GLSL tests for loops with multiple induction variables
In particular, we want to test loops that have multiple induction
variables that are used to determine when the loop terminate.
-rw-r--r-- | tests/all.tests | 4 | ||||
-rw-r--r-- | tests/shaders/glsl-fs-loop-two-counter-01.shader_test | 30 | ||||
-rw-r--r-- | tests/shaders/glsl-fs-loop-two-counter-02.shader_test | 30 | ||||
-rw-r--r-- | tests/shaders/glsl-fs-loop-two-counter-03.shader_test | 30 | ||||
-rw-r--r-- | tests/shaders/glsl-fs-loop-two-counter-04.shader_test | 30 |
5 files changed, 124 insertions, 0 deletions
diff --git a/tests/all.tests b/tests/all.tests index cd4aac17..c865a5b8 100644 --- a/tests/all.tests +++ b/tests/all.tests @@ -285,6 +285,10 @@ add_shader_generic(shaders, 'glsl-fs-loop-gt') add_shader_generic(shaders, 'glsl-fs-loop-le') add_shader_generic(shaders, 'glsl-fs-loop-lt') add_plain_test(shaders, 'glsl-fs-loop-nested') +add_shader_generic(shaders, 'glsl-fs-loop-two-counter-01') +add_shader_generic(shaders, 'glsl-fs-loop-two-counter-02') +add_shader_generic(shaders, 'glsl-fs-loop-two-counter-03') +add_shader_generic(shaders, 'glsl-fs-loop-two-counter-04') add_shader_generic(shaders, 'glsl-fs-loop-zero-iter') add_shader_generic(shaders, 'glsl-fs-max') add_shader_generic(shaders, 'glsl-fs-min') diff --git a/tests/shaders/glsl-fs-loop-two-counter-01.shader_test b/tests/shaders/glsl-fs-loop-two-counter-01.shader_test new file mode 100644 index 00000000..f27f4eca --- /dev/null +++ b/tests/shaders/glsl-fs-loop-two-counter-01.shader_test @@ -0,0 +1,30 @@ +[require] +GL >= 2.0 +GLSL >= 1.10 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +void main() +{ + int j = 0; + float g = 0.0; + + for (int i = 0; i < 10; i++) { + if (j > 2) + break; + + g += 0.2; + j++; + } + + gl_FragColor = (j != 3) ? vec4(1.0, 0.0, 0.0, 0.0) : vec4(0.0, g, 0.0, 0.0); +} + +[test] +clear color 0.3 0.3 0.3 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 0.6 0.0 diff --git a/tests/shaders/glsl-fs-loop-two-counter-02.shader_test b/tests/shaders/glsl-fs-loop-two-counter-02.shader_test new file mode 100644 index 00000000..61c3bb7c --- /dev/null +++ b/tests/shaders/glsl-fs-loop-two-counter-02.shader_test @@ -0,0 +1,30 @@ +[require] +GL >= 2.0 +GLSL >= 1.10 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +void main() +{ + int j = 0; + float g = 0.0; + + for (int i = 0; i < 10; i++) { + g += 0.2; + j++; + + if (j > 2) + break; + } + + gl_FragColor = (j != 3) ? vec4(1.0, 0.0, 0.0, 0.0) : vec4(0.0, g, 0.0, 0.0); +} + +[test] +clear color 0.3 0.3 0.3 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 0.6 0.0 diff --git a/tests/shaders/glsl-fs-loop-two-counter-03.shader_test b/tests/shaders/glsl-fs-loop-two-counter-03.shader_test new file mode 100644 index 00000000..b4cd18fb --- /dev/null +++ b/tests/shaders/glsl-fs-loop-two-counter-03.shader_test @@ -0,0 +1,30 @@ +[require] +GL >= 2.0 +GLSL >= 1.10 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +void main() +{ + int j = 0; + float g = 0.0; + + for (int i = 0; i < 3; i++) { + if (j > 9) + break; + + g += 0.2; + j++; + } + + gl_FragColor = (j != 3) ? vec4(1.0, 0.0, 0.0, 0.0) : vec4(0.0, g, 0.0, 0.0); +} + +[test] +clear color 0.3 0.3 0.3 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 0.6 0.0 diff --git a/tests/shaders/glsl-fs-loop-two-counter-04.shader_test b/tests/shaders/glsl-fs-loop-two-counter-04.shader_test new file mode 100644 index 00000000..c015a1ad --- /dev/null +++ b/tests/shaders/glsl-fs-loop-two-counter-04.shader_test @@ -0,0 +1,30 @@ +[require] +GL >= 2.0 +GLSL >= 1.10 + +[vertex shader file] +glsl-mvp.vert + +[fragment shader] +void main() +{ + int j = 0; + float g = 0.0; + + for (int i = 0; i < 3; i++) { + g += 0.2; + j++; + + if (j > 9) + break; + } + + gl_FragColor = (j != 3) ? vec4(1.0, 0.0, 0.0, 0.0) : vec4(0.0, g, 0.0, 0.0); +} + +[test] +clear color 0.3 0.3 0.3 0.0 +clear +ortho +draw rect 10 10 10 10 +probe rgb 15 15 0.0 0.6 0.0 |