summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/all.py1
-rw-r--r--tests/shaders/generic/vp-arl-env-array.vpfp22
-rw-r--r--tests/spec/arb_vertex_program/vp-arl-env-array.shader_test33
3 files changed, 33 insertions, 23 deletions
diff --git a/tests/all.py b/tests/all.py
index 866f14244..bab81ed9d 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -2594,7 +2594,6 @@ with profile.group_manager(
g(['vp-address-04'], run_concurrent=False)
g(['vp-bad-program'], run_concurrent=False)
g(['vp-max-array'], run_concurrent=False)
- add_vpfpgeneric(g, 'vp-arl-env-array')
add_vpfpgeneric(g, 'vp-arl-local-array')
add_vpfpgeneric(g, 'vp-arl-neg-array')
add_vpfpgeneric(g, 'vp-arl-neg-array-2')
diff --git a/tests/shaders/generic/vp-arl-env-array.vpfp b/tests/shaders/generic/vp-arl-env-array.vpfp
deleted file mode 100644
index 9a6ece37b..000000000
--- a/tests/shaders/generic/vp-arl-env-array.vpfp
+++ /dev/null
@@ -1,22 +0,0 @@
-; Tests loading of a variable entry from an array of program locals.
-
-!!ARBvp1.0
-OPTION ARB_position_invariant;
-PARAM vals[4] = { program.env[1..4] };
-ADDRESS A0;
-ARL A0.x, program.local[0].x;
-MOV result.color, vals[A0.x+0];
-END
-
-!!ARBfp1.0
-MOV result.color, fragment.color;
-END
-
-!!test
-vertex.local[0] 3.0 0.0 0.0 0.0
-vertex.environment[1] 0.5 1.0 2.0 0.0
-vertex.environment[2] 1.0 0.0 1.0 0.0
-vertex.environment[3] 1.0 0.0 0.5 0.0
-vertex.environment[4] 0.8 1.0 0.0 0.0
-expected 0.8 1.0 0.0 0.0
-
diff --git a/tests/spec/arb_vertex_program/vp-arl-env-array.shader_test b/tests/spec/arb_vertex_program/vp-arl-env-array.shader_test
new file mode 100644
index 000000000..999f773bd
--- /dev/null
+++ b/tests/spec/arb_vertex_program/vp-arl-env-array.shader_test
@@ -0,0 +1,33 @@
+# Tests loading of a variable entry from an array of program locals.
+
+[require]
+GL >= 1.3
+ARB_vertex_program
+ARB_fragment_program
+
+[vertex program]
+!!ARBvp1.0
+OPTION ARB_position_invariant;
+PARAM vals[4] = { program.env[1..4] };
+ADDRESS A0;
+ARL A0.x, program.local[0].x;
+MOV result.color, vals[A0.x+0];
+END
+
+[fragment program]
+!!ARBfp1.0
+MOV result.color, fragment.color;
+END
+
+[test]
+ortho 0 1 0 1
+parameter local_vp 0 (3.0, 0.0, 0.0, 0.0)
+parameter env_vp 1 (0.5, 1.0, 2.0, 0.0)
+parameter env_vp 2 (1.0, 0.0, 1.0, 0.0)
+parameter env_vp 3 (1.0, 0.0, 0.5, 0.0)
+parameter env_vp 4 (0.8, 1.0, 0.0, 0.0)
+clear color 0.0 0.0 1.0 1.0
+clear
+draw rect 0 0 1 1
+probe all rgba 0.8 1.0 0.0 0.0
+