summaryrefslogtreecommitdiff
path: root/tests/asmparsertest
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2009-10-01 13:14:01 -0700
committerIan Romanick <ian.d.romanick@intel.com>2009-10-01 13:14:01 -0700
commit871bb33dd30d2b3f021d3abbedf318da129c42d1 (patch)
treeec7e4729f674633d5c158461afb9b1dc3d823266 /tests/asmparsertest
parent703b01e7e4979cbde32461179b9180cdcb7935ea (diff)
NV vp3: Add a bunch of GL_NV_vertex_program3 texture tests
Diffstat (limited to 'tests/asmparsertest')
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-01.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-02.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-03.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-04.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-05.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-06.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-07.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-08.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-09.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-10.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-11.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-12.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-13.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-14.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-15.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/tex-16.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-01.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-02.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-03.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-04.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-05.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-06.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-07.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-08.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-09.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-10.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-11.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-12.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-13.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-14.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-15.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txb-16.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-01.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-02.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-03.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-04.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-05.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-06.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-07.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-08.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-09.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-10.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-11.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-12.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-13.txt9
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-14.txt9
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-15.txt9
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txd-16.txt9
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-01.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-02.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-03.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-04.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-05.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-06.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-07.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-08.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-09.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-10.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-11.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-12.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-13.txt9
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-14.txt9
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-15.txt9
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txf-16.txt9
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-01.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-02.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-03.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-04.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-05.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-06.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-07.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-08.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-09.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-10.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-11.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-12.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-13.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-14.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-15.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txl-16.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-01.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-02.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-03.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-04.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-05.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-06.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-07.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-08.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-09.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-10.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-11.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-12.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-13.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-14.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-15.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txp-16.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-01.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-02.txt4
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-03.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-04.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-05.txt5
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-06.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-07.txt6
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-08.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-09.txt7
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-10.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-11.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-12.txt8
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-13.txt9
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-14.txt9
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-15.txt9
-rw-r--r--tests/asmparsertest/shaders/ARBvp1.0/txq-16.txt9
-rwxr-xr-xtests/asmparsertest/vp-tex.sh123
113 files changed, 850 insertions, 0 deletions
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-01.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-01.txt
new file mode 100644
index 000000000..c747e4668
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-01.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TEX result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-02.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-02.txt
new file mode 100644
index 000000000..ba2d4b1cf
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-02.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TEX result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-03.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-03.txt
new file mode 100644
index 000000000..97dd1f4bb
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-03.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_EXT_texture3D
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TEX result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-04.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-04.txt
new file mode 100644
index 000000000..15e0c8903
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-04.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TEX result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-05.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-05.txt
new file mode 100644
index 000000000..79d4fa854
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-05.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TEX result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-06.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-06.txt
new file mode 100644
index 000000000..87afce53f
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-06.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TEX result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-07.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-07.txt
new file mode 100644
index 000000000..60000bdd6
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-07.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TEX result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-08.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-08.txt
new file mode 100644
index 000000000..149a62919
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-08.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+
+TEX result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-09.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-09.txt
new file mode 100644
index 000000000..c0e6aa7b0
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-09.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+
+TEX result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-10.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-10.txt
new file mode 100644
index 000000000..2996b897c
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-10.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_EXT_texture3D
+
+TEX result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-11.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-11.txt
new file mode 100644
index 000000000..0a68cac99
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-11.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+
+TEX result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-12.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-12.txt
new file mode 100644
index 000000000..78916b67a
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-12.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+
+TEX result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-13.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-13.txt
new file mode 100644
index 000000000..1c56daf51
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-13.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+
+TEX result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-14.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-14.txt
new file mode 100644
index 000000000..867fab0f4
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-14.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+
+TEX result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-15.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-15.txt
new file mode 100644
index 000000000..6f6a689ba
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-15.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+
+OUTPUT CUBE = result.color;
+TEX CUBE, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/tex-16.txt b/tests/asmparsertest/shaders/ARBvp1.0/tex-16.txt
new file mode 100644
index 000000000..cbe7ef733
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/tex-16.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+
+OUTPUT RECT = result.color;
+TEX RECT, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-01.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-01.txt
new file mode 100644
index 000000000..cac8b30a7
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-01.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXB result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-02.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-02.txt
new file mode 100644
index 000000000..c6cb9e2a8
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-02.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXB result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-03.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-03.txt
new file mode 100644
index 000000000..6574a2eb9
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-03.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_EXT_texture3D
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXB result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-04.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-04.txt
new file mode 100644
index 000000000..9d0d98db1
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-04.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXB result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-05.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-05.txt
new file mode 100644
index 000000000..ed811d288
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-05.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXB result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-06.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-06.txt
new file mode 100644
index 000000000..32c244bde
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-06.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXB result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-07.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-07.txt
new file mode 100644
index 000000000..f1fe134f3
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-07.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXB result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-08.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-08.txt
new file mode 100644
index 000000000..c2b475fa2
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-08.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+
+TXB result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-09.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-09.txt
new file mode 100644
index 000000000..797f5dc39
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-09.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+
+TXB result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-10.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-10.txt
new file mode 100644
index 000000000..ca1f11d06
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-10.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_EXT_texture3D
+
+TXB result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-11.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-11.txt
new file mode 100644
index 000000000..7537fb9b3
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-11.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+
+TXB result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-12.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-12.txt
new file mode 100644
index 000000000..a73ed528d
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-12.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+
+TXB result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-13.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-13.txt
new file mode 100644
index 000000000..bf0ec3a6c
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-13.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+
+TXB result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-14.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-14.txt
new file mode 100644
index 000000000..3e9463b5f
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-14.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+
+TXB result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-15.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-15.txt
new file mode 100644
index 000000000..2ac233efc
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-15.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+
+OUTPUT CUBE = result.color;
+TXB CUBE, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txb-16.txt b/tests/asmparsertest/shaders/ARBvp1.0/txb-16.txt
new file mode 100644
index 000000000..4443df11c
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txb-16.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+
+OUTPUT RECT = result.color;
+TXB RECT, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-01.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-01.txt
new file mode 100644
index 000000000..e9cfea071
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-01.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXD result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-02.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-02.txt
new file mode 100644
index 000000000..8331c887a
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-02.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXD result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-03.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-03.txt
new file mode 100644
index 000000000..e0558e58e
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-03.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_EXT_texture3D
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXD result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-04.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-04.txt
new file mode 100644
index 000000000..481484242
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-04.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXD result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-05.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-05.txt
new file mode 100644
index 000000000..9c1548659
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-05.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXD result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-06.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-06.txt
new file mode 100644
index 000000000..2a05329c9
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-06.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXD result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-07.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-07.txt
new file mode 100644
index 000000000..855b7a0e1
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-07.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXD result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-08.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-08.txt
new file mode 100644
index 000000000..d159df297
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-08.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# FAIL - TXD not supported by GL_NV_vertex_program3
+
+TXD result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-09.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-09.txt
new file mode 100644
index 000000000..aad38dda5
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-09.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# FAIL - TXD not supported by GL_NV_vertex_program3
+
+TXD result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-10.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-10.txt
new file mode 100644
index 000000000..d271745f9
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-10.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_EXT_texture3D
+# FAIL - TXD not supported by GL_NV_vertex_program3
+
+TXD result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-11.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-11.txt
new file mode 100644
index 000000000..387c57217
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-11.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - TXD not supported by GL_NV_vertex_program3
+
+TXD result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-12.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-12.txt
new file mode 100644
index 000000000..f671e85ff
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-12.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - TXD not supported by GL_NV_vertex_program3
+
+TXD result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-13.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-13.txt
new file mode 100644
index 000000000..393b7d583
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-13.txt
@@ -0,0 +1,9 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - TXD not supported by GL_NV_vertex_program3
+
+TXD result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-14.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-14.txt
new file mode 100644
index 000000000..27a93e193
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-14.txt
@@ -0,0 +1,9 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - TXD not supported by GL_NV_vertex_program3
+
+TXD result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-15.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-15.txt
new file mode 100644
index 000000000..779a5fe37
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-15.txt
@@ -0,0 +1,9 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - TXD not supported by GL_NV_vertex_program3
+
+OUTPUT CUBE = result.color;
+TXD CUBE, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txd-16.txt b/tests/asmparsertest/shaders/ARBvp1.0/txd-16.txt
new file mode 100644
index 000000000..159e59cd9
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txd-16.txt
@@ -0,0 +1,9 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - TXD not supported by GL_NV_vertex_program3
+
+OUTPUT RECT = result.color;
+TXD RECT, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-01.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-01.txt
new file mode 100644
index 000000000..22b2823fd
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-01.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXF result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-02.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-02.txt
new file mode 100644
index 000000000..503b7aad3
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-02.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXF result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-03.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-03.txt
new file mode 100644
index 000000000..63ec3331f
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-03.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_EXT_texture3D
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXF result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-04.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-04.txt
new file mode 100644
index 000000000..cffddef72
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-04.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXF result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-05.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-05.txt
new file mode 100644
index 000000000..6d57bff76
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-05.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXF result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-06.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-06.txt
new file mode 100644
index 000000000..5d514729d
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-06.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXF result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-07.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-07.txt
new file mode 100644
index 000000000..27932916a
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-07.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXF result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-08.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-08.txt
new file mode 100644
index 000000000..16a7504ce
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-08.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# FAIL - TXF not supported by GL_NV_vertex_program3
+
+TXF result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-09.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-09.txt
new file mode 100644
index 000000000..88f451848
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-09.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# FAIL - TXF not supported by GL_NV_vertex_program3
+
+TXF result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-10.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-10.txt
new file mode 100644
index 000000000..8c1e42cd1
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-10.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_EXT_texture3D
+# FAIL - TXF not supported by GL_NV_vertex_program3
+
+TXF result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-11.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-11.txt
new file mode 100644
index 000000000..fba4eb532
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-11.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - TXF not supported by GL_NV_vertex_program3
+
+TXF result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-12.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-12.txt
new file mode 100644
index 000000000..d4e71e755
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-12.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - TXF not supported by GL_NV_vertex_program3
+
+TXF result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-13.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-13.txt
new file mode 100644
index 000000000..55b97e149
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-13.txt
@@ -0,0 +1,9 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - TXF not supported by GL_NV_vertex_program3
+
+TXF result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-14.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-14.txt
new file mode 100644
index 000000000..986c58d5e
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-14.txt
@@ -0,0 +1,9 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - TXF not supported by GL_NV_vertex_program3
+
+TXF result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-15.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-15.txt
new file mode 100644
index 000000000..a158bb52d
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-15.txt
@@ -0,0 +1,9 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - TXF not supported by GL_NV_vertex_program3
+
+OUTPUT CUBE = result.color;
+TXF CUBE, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txf-16.txt b/tests/asmparsertest/shaders/ARBvp1.0/txf-16.txt
new file mode 100644
index 000000000..81fb8baa9
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txf-16.txt
@@ -0,0 +1,9 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - TXF not supported by GL_NV_vertex_program3
+
+OUTPUT RECT = result.color;
+TXF RECT, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-01.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-01.txt
new file mode 100644
index 000000000..aaa93dafd
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-01.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXL result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-02.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-02.txt
new file mode 100644
index 000000000..893f331f3
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-02.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXL result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-03.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-03.txt
new file mode 100644
index 000000000..8ad0bca4a
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-03.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_EXT_texture3D
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXL result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-04.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-04.txt
new file mode 100644
index 000000000..633148b4e
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-04.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXL result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-05.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-05.txt
new file mode 100644
index 000000000..e89d6b959
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-05.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXL result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-06.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-06.txt
new file mode 100644
index 000000000..71d933886
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-06.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXL result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-07.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-07.txt
new file mode 100644
index 000000000..19b8c57c4
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-07.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXL result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-08.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-08.txt
new file mode 100644
index 000000000..b99767264
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-08.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+
+TXL result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-09.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-09.txt
new file mode 100644
index 000000000..db7f16d6e
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-09.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+
+TXL result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-10.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-10.txt
new file mode 100644
index 000000000..7f71ef3cf
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-10.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_EXT_texture3D
+
+TXL result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-11.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-11.txt
new file mode 100644
index 000000000..97a5e6ce5
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-11.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+
+TXL result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-12.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-12.txt
new file mode 100644
index 000000000..f4c57b20c
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-12.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+
+TXL result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-13.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-13.txt
new file mode 100644
index 000000000..cf3105cf6
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-13.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+
+TXL result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-14.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-14.txt
new file mode 100644
index 000000000..efd7da234
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-14.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+
+TXL result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-15.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-15.txt
new file mode 100644
index 000000000..93ce5f5c5
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-15.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+
+OUTPUT CUBE = result.color;
+TXL CUBE, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txl-16.txt b/tests/asmparsertest/shaders/ARBvp1.0/txl-16.txt
new file mode 100644
index 000000000..a15a9a963
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txl-16.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+
+OUTPUT RECT = result.color;
+TXL RECT, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-01.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-01.txt
new file mode 100644
index 000000000..984c04ae9
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-01.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXP result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-02.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-02.txt
new file mode 100644
index 000000000..6b0346c8d
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-02.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXP result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-03.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-03.txt
new file mode 100644
index 000000000..4aa477b1c
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-03.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_EXT_texture3D
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXP result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-04.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-04.txt
new file mode 100644
index 000000000..ed55341bb
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-04.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXP result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-05.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-05.txt
new file mode 100644
index 000000000..b7ba0d572
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-05.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXP result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-06.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-06.txt
new file mode 100644
index 000000000..b1649c08a
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-06.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXP result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-07.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-07.txt
new file mode 100644
index 000000000..bc225fd69
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-07.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXP result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-08.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-08.txt
new file mode 100644
index 000000000..546efccba
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-08.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+
+TXP result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-09.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-09.txt
new file mode 100644
index 000000000..665e350d4
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-09.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+
+TXP result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-10.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-10.txt
new file mode 100644
index 000000000..bcb732c17
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-10.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_EXT_texture3D
+
+TXP result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-11.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-11.txt
new file mode 100644
index 000000000..d7f86d370
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-11.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+
+TXP result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-12.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-12.txt
new file mode 100644
index 000000000..d310fa558
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-12.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+
+TXP result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-13.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-13.txt
new file mode 100644
index 000000000..58ed41f4d
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-13.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+
+TXP result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-14.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-14.txt
new file mode 100644
index 000000000..77f59c280
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-14.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+
+TXP result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-15.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-15.txt
new file mode 100644
index 000000000..1c8946278
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-15.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+
+OUTPUT CUBE = result.color;
+TXP CUBE, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txp-16.txt b/tests/asmparsertest/shaders/ARBvp1.0/txp-16.txt
new file mode 100644
index 000000000..87288f615
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txp-16.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+
+OUTPUT RECT = result.color;
+TXP RECT, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-01.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-01.txt
new file mode 100644
index 000000000..66a306178
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-01.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXQ result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-02.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-02.txt
new file mode 100644
index 000000000..144f2b346
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-02.txt
@@ -0,0 +1,4 @@
+!!ARBvp1.0
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXQ result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-03.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-03.txt
new file mode 100644
index 000000000..cfc153400
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-03.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_EXT_texture3D
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXQ result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-04.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-04.txt
new file mode 100644
index 000000000..6c0410545
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-04.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXQ result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-05.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-05.txt
new file mode 100644
index 000000000..7c74752dc
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-05.txt
@@ -0,0 +1,5 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXQ result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-06.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-06.txt
new file mode 100644
index 000000000..470bf4a93
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-06.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXQ result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-07.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-07.txt
new file mode 100644
index 000000000..37e1dd8cb
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-07.txt
@@ -0,0 +1,6 @@
+!!ARBvp1.0
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - texture instructions not supported by GL_ARB_vertex_program
+TXQ result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-08.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-08.txt
new file mode 100644
index 000000000..924ed5ae8
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-08.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# FAIL - TXQ not supported by GL_NV_vertex_program3
+
+TXQ result.color, vertex.texcoord[0], texture[0], 1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-09.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-09.txt
new file mode 100644
index 000000000..93f85df3e
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-09.txt
@@ -0,0 +1,7 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# FAIL - TXQ not supported by GL_NV_vertex_program3
+
+TXQ result.color, vertex.texcoord[0], texture[0], 2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-10.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-10.txt
new file mode 100644
index 000000000..6db2a2e72
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-10.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_EXT_texture3D
+# FAIL - TXQ not supported by GL_NV_vertex_program3
+
+TXQ result.color, vertex.texcoord[0], texture[0], 3D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-11.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-11.txt
new file mode 100644
index 000000000..b9d75cd99
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-11.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - TXQ not supported by GL_NV_vertex_program3
+
+TXQ result.color, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-12.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-12.txt
new file mode 100644
index 000000000..0513c556c
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-12.txt
@@ -0,0 +1,8 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - TXQ not supported by GL_NV_vertex_program3
+
+TXQ result.color, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-13.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-13.txt
new file mode 100644
index 000000000..e70b39018
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-13.txt
@@ -0,0 +1,9 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - TXQ not supported by GL_NV_vertex_program3
+
+TXQ result.color, vertex.texcoord[0], texture[0], SHADOW1D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-14.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-14.txt
new file mode 100644
index 000000000..a82fd5128
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-14.txt
@@ -0,0 +1,9 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_fragment_program_shadow
+OPTION ARB_fragment_program_shadow;
+# FAIL - TXQ not supported by GL_NV_vertex_program3
+
+TXQ result.color, vertex.texcoord[0], texture[0], SHADOW2D;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-15.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-15.txt
new file mode 100644
index 000000000..02fdde753
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-15.txt
@@ -0,0 +1,9 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_cube_map
+# FAIL - TXQ not supported by GL_NV_vertex_program3
+
+OUTPUT CUBE = result.color;
+TXQ CUBE, vertex.texcoord[0], texture[0], CUBE;
+END
diff --git a/tests/asmparsertest/shaders/ARBvp1.0/txq-16.txt b/tests/asmparsertest/shaders/ARBvp1.0/txq-16.txt
new file mode 100644
index 000000000..5a78f9483
--- /dev/null
+++ b/tests/asmparsertest/shaders/ARBvp1.0/txq-16.txt
@@ -0,0 +1,9 @@
+!!ARBvp1.0
+# REQUIRE GL_NV_vertex_program3
+OPTION NV_vertex_program3;
+# REQUIRE GL_ARB_texture_rectangle
+# FAIL - TXQ not supported by GL_NV_vertex_program3
+
+OUTPUT RECT = result.color;
+TXQ RECT, vertex.texcoord[0], texture[0], RECT;
+END
diff --git a/tests/asmparsertest/vp-tex.sh b/tests/asmparsertest/vp-tex.sh
new file mode 100755
index 000000000..5372a528b
--- /dev/null
+++ b/tests/asmparsertest/vp-tex.sh
@@ -0,0 +1,123 @@
+#!/bin/sh
+#
+# Copyright © 2009 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+# Generate a bunch of vertex program texture tests
+#
+# Authors: Ian Romanick <ian.d.romanick@intel.com>
+
+function emit_target_require
+{
+ if [ "$1" = "RECT" ]; then
+ echo "# REQUIRE GL_ARB_texture_rectangle"
+ fi
+ if [ "$1" = "CUBE" ]; then
+ echo "# REQUIRE GL_ARB_texture_cube_map"
+ fi
+ if [ "$1" = "3D" ]; then
+ echo "# REQUIRE GL_EXT_texture3D"
+ fi
+ if [ "$1" = "SHADOW1D" -o "$1" = "SHADOW2D" ]; then
+ echo "# REQUIRE GL_ARB_fragment_program_shadow"
+ echo "OPTION ARB_fragment_program_shadow;"
+ fi
+}
+
+
+function emit_fail_NVvp3
+{
+ if ! echo "$1" | egrep -q '(TEX|TX[BLP])'; then
+ printf '# FAIL - %s not supported by GL_NV_vertex_program3\n' "$1"
+ fi
+}
+
+function emit_shader_ARBvp
+{
+ echo '!!ARBvp1.0'
+
+ emit_target_require $2
+
+ echo '# FAIL - texture instructions not supported by GL_ARB_vertex_program'
+ printf '%s result.color, vertex.texcoord[0], texture[0], %s;\n' "$1" "$2"
+ echo 'END'
+}
+
+
+function emit_shader_NVvp3
+{
+ echo '!!ARBvp1.0'
+ echo "# REQUIRE GL_NV_vertex_program3"
+
+ echo "OPTION NV_vertex_program3;"
+ emit_target_require $2
+ emit_fail_NVvp3 $1
+
+ echo ""
+ printf '%s result.color, vertex.texcoord[0], texture[0], %s;\n' "$1" "$2"
+ echo 'END'
+}
+
+
+
+function emit_shader_NVvp3_alt
+{
+ echo '!!ARBvp1.0'
+ echo "# REQUIRE GL_NV_vertex_program3"
+
+ echo "OPTION NV_vertex_program3;"
+ emit_target_require $2
+ emit_fail_NVvp3 $1
+
+ echo ""
+ printf 'OUTPUT %s = result.color;\n' "$2"
+ printf '%s %s, vertex.texcoord[0], texture[0], %s;\n' "$1" "$2" "$2"
+ echo 'END'
+}
+
+
+path=shaders/ARBvp1.0
+# VP3 VP3 FP GP4 VP3 VP3 GP4
+for inst in TEX TXB TXD TXF TXL TXP TXQ; do
+ inst_low=$(echo $inst | awk '{print tolower($1);}')
+
+ i=1
+ for target in 1D 2D 3D CUBE RECT SHADOW1D SHADOW2D; do
+ file=$(printf "%s-%02d.txt" $inst_low $i)
+
+ emit_shader_ARBvp $inst $target > $path/$file
+ i=$((i + 1))
+ done
+
+ for target in 1D 2D 3D CUBE RECT SHADOW1D SHADOW2D; do
+ file=$(printf "%s-%02d.txt" $inst_low $i)
+
+ emit_shader_NVvp3 $inst $target > $path/$file
+ i=$((i + 1))
+ done
+
+ for target in CUBE RECT; do
+ file=$(printf "%s-%02d.txt" $inst_low $i)
+
+ emit_shader_NVvp3_alt $inst $target > $path/$file
+ i=$((i + 1))
+ done
+done