summaryrefslogtreecommitdiff
path: root/beryl-plugins/src/blurfx_shader.h
diff options
context:
space:
mode:
authorquinn <quinn@d7aaf104-2d23-0410-ae22-9d23157bf5a3>2006-09-27 23:19:52 +0000
committerquinn <quinn@d7aaf104-2d23-0410-ae22-9d23157bf5a3>2006-09-27 23:19:52 +0000
commit4c9796dddab60529fff57638d3cb0d8ca830a3fe (patch)
tree1c54f385f71dc9897381c7b266ff1090137a74e1 /beryl-plugins/src/blurfx_shader.h
parent6e36e85e06f7cf5edc75016bc2bb2612c0ee80c1 (diff)
downloadmarex-dev-4c9796dddab60529fff57638d3cb0d8ca830a3fe.tar.gz
marex-dev-4c9796dddab60529fff57638d3cb0d8ca830a3fe.tar.bz2
move in beryl-plugins
git-svn-id: file:///beryl/trunk@325 d7aaf104-2d23-0410-ae22-9d23157bf5a3
Diffstat (limited to 'beryl-plugins/src/blurfx_shader.h')
-rw-r--r--beryl-plugins/src/blurfx_shader.h665
1 files changed, 665 insertions, 0 deletions
diff --git a/beryl-plugins/src/blurfx_shader.h b/beryl-plugins/src/blurfx_shader.h
new file mode 100644
index 0000000..f72780a
--- /dev/null
+++ b/beryl-plugins/src/blurfx_shader.h
@@ -0,0 +1,665 @@
+/**
+ *
+ * This file is autogenerated from :
+ * gaussian9x9_H.fcg gaussian9x9_V.fcg gaussian17x17_V.fcg gaussian17x17_H.fcg gaussian5x5_H.fcg gaussian21x21_H.fcg linear17x17_H.fcg linear5x5_V.fcg linear9x9_V.fcg gaussian5x5_V.fcg linear5x5_H.fcg linear13x13_H.fcg linear13x13_V.fcg gaussian13x13_V.fcg gaussian13x13_H.fcg linear17x17_V.fcg linear9x9_H.fcg linear21x21_H.fcg linear21x21_V.fcg gaussian21x21_V.fcg
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ **/
+#ifndef blurfx_SHADER_H
+#define blurfx_SHADER_H
+
+static const char* gaussian9x9_H =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[3] = { { 3.310219, 0, 0.091073997, 1.39698 },\n"
+ " { 0.30337501, 0.21110199, -3.310219, 0 },\n"
+ " { -1.39698, 0 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].xyyy, fragment.texcoord[0];\n"
+ "TXP R1, R0, texture[0], RECT;\n"
+ "MAD R0, fragment.texcoord[0].w, c[1].zwww, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MUL R1, R1, c[1].x;\n"
+ "MAD R1, R0, c[0].z, R1;\n"
+ "TXP R0, fragment.texcoord[0], texture[0], RECT;\n"
+ "MAD R2, R0, c[1].y, R1;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].wyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[1].x, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* gaussian9x9_V =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[3] = { { 0, 3.310219, 0.091073997, 1.39698 },\n"
+ " { 0.30337501, 0.21110199, 0, -3.310219 },\n"
+ " { 0, -1.39698 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].xyxx, fragment.texcoord[0];\n"
+ "TXP R1, R0, texture[0], RECT;\n"
+ "MAD R0, fragment.texcoord[0].w, c[1].zwzz, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MUL R1, R1, c[1].x;\n"
+ "MAD R1, R0, c[0].z, R1;\n"
+ "TXP R0, fragment.texcoord[0], texture[0], RECT;\n"
+ "MAD R2, R0, c[1].y, R1;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].xwxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyxx, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[1].x, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* gaussian17x17_V =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[5] = { { 0, 7.300571, 0.0061269999, 5.3142352 },\n"
+ " { 0.031213, 0, 3.361583, 0.118315 },\n"
+ " { 0, 1.436257, 0.26341599, 0.16185699 },\n"
+ " { 0, -1.436257, -3.361583, -7.300571 },\n"
+ " { 0, -5.3142352 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[4].xyxx, fragment.texcoord[0];\n"
+ "TXP R1, R0, texture[0], RECT;\n"
+ "MAD R0, fragment.texcoord[0].w, c[3].xwxx, fragment.texcoord[0];\n"
+ "MUL R1, R1, c[1].x;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R2, R0, c[0].z, R1;\n"
+ "MAD R0, fragment.texcoord[0].w, c[3].xzxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[3].xyxx, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[1].w, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R1, R1, c[2].z, R0;\n"
+ "TXP R0, fragment.texcoord[0], texture[0], RECT;\n"
+ "MAD R2, R0, c[2].w, R1;\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].xyxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].yzyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[2].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[1].w, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].xwxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyxx, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[1].x, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* gaussian17x17_H =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[5] = { { 7.300571, 0, 0.0061269999, 5.3142352 },\n"
+ " { 0.031213, 3.361583, 0, 0.118315 },\n"
+ " { 1.436257, 0, 0.26341599, 0.16185699 },\n"
+ " { -1.436257, 0, -3.361583, -7.300571 },\n"
+ " { -5.3142352, 0 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[4].xyyy, fragment.texcoord[0];\n"
+ "TXP R1, R0, texture[0], RECT;\n"
+ "MAD R0, fragment.texcoord[0].w, c[3].wyyy, fragment.texcoord[0];\n"
+ "MUL R1, R1, c[1].x;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R2, R0, c[0].z, R1;\n"
+ "MAD R0, fragment.texcoord[0].w, c[3].zyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[3].xyyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[1].w, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R1, R1, c[2].z, R0;\n"
+ "TXP R0, fragment.texcoord[0], texture[0], RECT;\n"
+ "MAD R2, R0, c[2].w, R1;\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].xyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].yzzz, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[2].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[1].w, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].wyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[1].x, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* gaussian5x5_H =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[2] = { { 1.347705, 0, 0.354886, -1.347705 },\n"
+ " { 0.290227 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyyy, fragment.texcoord[0];\n"
+ "TXP R2, fragment.texcoord[0], texture[0], RECT;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].wyyy, fragment.texcoord[0];\n"
+ "MUL R2, R2, c[1].x;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* gaussian21x21_H =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[6] = { { 9.3001366, 0, 0.001594, 7.3051109 },\n"
+ " { 0.0084830001, 5.3300581, 0, 0.038972002 },\n"
+ " { 3.380198, 0, 0.126184, 1.446185 },\n"
+ " { 0.25026399, 0.14900599, -1.446185, 0 },\n"
+ " { -3.380198, 0, -5.3300581, -9.3001366 },\n"
+ " { -7.3051109, 0 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[5].xyyy, fragment.texcoord[0];\n"
+ "TXP R2, R0, texture[0], RECT;\n"
+ "MAD R1, fragment.texcoord[0].w, c[4].zyyy, fragment.texcoord[0];\n"
+ "MAD R0, fragment.texcoord[0].w, c[4].wyyy, fragment.texcoord[0];\n"
+ "MUL R2, R2, c[1].x;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[1].w, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[4].xyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[3].zwww, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[2].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[3].x, R0;\n"
+ "MAD R1, fragment.texcoord[0].w, c[2].wyyy, fragment.texcoord[0];\n"
+ "TXP R0, fragment.texcoord[0], texture[0], RECT;\n"
+ "MAD R0, R0, c[3].y, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[3].x, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].xyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].yzzz, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[2].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[1].w, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].wyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[1].x, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* linear17x17_H =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[4] = { { 7.5, 0, 0.117647, 5.5 },\n"
+ " { 3.5, 0, 1.5, -7.5 },\n"
+ " { -5.5, 0, -3.5, -1.5 },\n"
+ " { 0.058823999 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].zyyy, fragment.texcoord[0];\n"
+ "TXP R2, R0, texture[0], RECT;\n"
+ "MAD R1, fragment.texcoord[0].w, c[2].xyyy, fragment.texcoord[0];\n"
+ "MAD R0, fragment.texcoord[0].w, c[1].wyyy, fragment.texcoord[0];\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "ADD R2, R0, R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].wyyy, fragment.texcoord[0];\n"
+ "TXP R1, fragment.texcoord[0], texture[0], RECT;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "ADD R0, R2, R0;\n"
+ "MUL R1, R1, c[3].x;\n"
+ "MAD R2, R0, c[0].z, R1;\n"
+ "MAD R0, fragment.texcoord[0].w, c[1].zyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].xyyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[0].z, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].wyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* linear5x5_V =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[2] = { { 0, 1.5, 0.40000001, -1.5 },\n"
+ " { 0.2 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyxx, fragment.texcoord[0];\n"
+ "TXP R2, fragment.texcoord[0], texture[0], RECT;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].xwxx, fragment.texcoord[0];\n"
+ "MUL R2, R2, c[1].x;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* linear9x9_V =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[2] = { { 0, 3.5, 0.222222, 1.5 },\n"
+ " { 0, -3.5, -1.5, 0.111111 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "TXP R0, fragment.texcoord[0], texture[0], RECT;\n"
+ "MUL R2, R0, c[1].w;\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].xzxx, fragment.texcoord[0];\n"
+ "MAD R0, fragment.texcoord[0].w, c[1].xyxx, fragment.texcoord[0];\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "MAD R2, R0, c[0].z, R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].xwxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyxx, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* gaussian5x5_V =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[2] = { { 0, 1.347705, 0.354886, -1.347705 },\n"
+ " { 0.290227 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyxx, fragment.texcoord[0];\n"
+ "TXP R2, fragment.texcoord[0], texture[0], RECT;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].xwxx, fragment.texcoord[0];\n"
+ "MUL R2, R2, c[1].x;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* linear5x5_H =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[2] = { { 1.5, 0, 0.40000001, -1.5 },\n"
+ " { 0.2 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyyy, fragment.texcoord[0];\n"
+ "TXP R2, fragment.texcoord[0], texture[0], RECT;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].wyyy, fragment.texcoord[0];\n"
+ "MUL R2, R2, c[1].x;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* linear13x13_H =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[3] = { { 5.5, 0, 0.153846, 3.5 },\n"
+ " { 1.5, 0, -5.5, -3.5 },\n"
+ " { -1.5, 0, 0.076922998 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].wyyy, fragment.texcoord[0];\n"
+ "MAD R0, fragment.texcoord[0].w, c[1].zyyy, fragment.texcoord[0];\n"
+ "MAD R2, fragment.texcoord[0].w, c[2].xyyy, fragment.texcoord[0];\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "TXP R1, R2, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "TXP R2, fragment.texcoord[0], texture[0], RECT;\n"
+ "MUL R2, R2, c[2].z;\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].xyyy, fragment.texcoord[0];\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[0].z, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].wyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* linear13x13_V =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[3] = { { 0, 5.5, 0.153846, 3.5 },\n"
+ " { 0, 1.5, -5.5, -3.5 },\n"
+ " { 0, -1.5, 0.076922998 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].xwxx, fragment.texcoord[0];\n"
+ "MAD R0, fragment.texcoord[0].w, c[1].xzxx, fragment.texcoord[0];\n"
+ "MAD R2, fragment.texcoord[0].w, c[2].xyxx, fragment.texcoord[0];\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "TXP R1, R2, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "TXP R2, fragment.texcoord[0], texture[0], RECT;\n"
+ "MUL R2, R2, c[2].z;\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].xyxx, fragment.texcoord[0];\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[0].z, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].xwxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyxx, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* gaussian13x13_V =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[4] = { { 0, 5.302392, 0.023582, 3.3376839 },\n"
+ " { 0.106752, 0, 1.4214931, 0.27964401 },\n"
+ " { 0.180044, 0, -1.4214931, -5.302392 },\n"
+ " { 0, -3.3376839 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[3].xyxx, fragment.texcoord[0];\n"
+ "TXP R2, R0, texture[0], RECT;\n"
+ "MAD R1, fragment.texcoord[0].w, c[2].yzyy, fragment.texcoord[0];\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].ywyy, fragment.texcoord[0];\n"
+ "MUL R2, R2, c[1].x;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[1].w, R0;\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].yzyy, fragment.texcoord[0];\n"
+ "TXP R0, fragment.texcoord[0], texture[0], RECT;\n"
+ "MAD R0, R0, c[2].x, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[1].w, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].xwxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyxx, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[1].x, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* gaussian13x13_H =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[4] = { { 5.302392, 0, 0.023582, 3.3376839 },\n"
+ " { 0.106752, 1.4214931, 0, 0.27964401 },\n"
+ " { 0.180044, -1.4214931, 0, -5.302392 },\n"
+ " { -3.3376839, 0 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[3].xyyy, fragment.texcoord[0];\n"
+ "TXP R2, R0, texture[0], RECT;\n"
+ "MAD R1, fragment.texcoord[0].w, c[2].yzzz, fragment.texcoord[0];\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].wzzz, fragment.texcoord[0];\n"
+ "MUL R2, R2, c[1].x;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[1].w, R0;\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].yzzz, fragment.texcoord[0];\n"
+ "TXP R0, fragment.texcoord[0], texture[0], RECT;\n"
+ "MAD R0, R0, c[2].x, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[1].w, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].wyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[1].x, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* linear17x17_V =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[4] = { { 0, 7.5, 0.117647, 5.5 },\n"
+ " { 0, 3.5, 1.5, -7.5 },\n"
+ " { 0, -5.5, -3.5, -1.5 },\n"
+ " { 0.058823999 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].xzxx, fragment.texcoord[0];\n"
+ "TXP R2, R0, texture[0], RECT;\n"
+ "MAD R1, fragment.texcoord[0].w, c[2].xyxx, fragment.texcoord[0];\n"
+ "MAD R0, fragment.texcoord[0].w, c[1].xwxx, fragment.texcoord[0];\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "ADD R2, R0, R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].xwxx, fragment.texcoord[0];\n"
+ "TXP R1, fragment.texcoord[0], texture[0], RECT;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "ADD R0, R2, R0;\n"
+ "MUL R1, R1, c[3].x;\n"
+ "MAD R2, R0, c[0].z, R1;\n"
+ "MAD R0, fragment.texcoord[0].w, c[1].xzxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].xyxx, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[0].z, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].xwxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyxx, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* linear9x9_H =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[2] = { { 3.5, 0, 0.222222, 1.5 },\n"
+ " { -3.5, 0, -1.5, 0.111111 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "TXP R0, fragment.texcoord[0], texture[0], RECT;\n"
+ "MUL R2, R0, c[1].w;\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].zyyy, fragment.texcoord[0];\n"
+ "MAD R0, fragment.texcoord[0].w, c[1].xyyy, fragment.texcoord[0];\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "MAD R2, R0, c[0].z, R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].wyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* linear21x21_H =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[4] = { { 9.5, 0, 0.095238, 7.5 },\n"
+ " { 5.5, 0, 3.5, 1.5 },\n"
+ " { -9.5, 0, -7.5, -5.5 },\n"
+ " { -3.5, 0, -1.5, 0.047619 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R1, fragment.texcoord[0].w, c[2].zyyy, fragment.texcoord[0];\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].xyyy, fragment.texcoord[0];\n"
+ "MAD R2, fragment.texcoord[0].w, c[2].wyyy, fragment.texcoord[0];\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "TXP R1, R2, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "MAD R2, fragment.texcoord[0].w, c[3].xyyy, fragment.texcoord[0];\n"
+ "TXP R1, R2, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "MAD R2, fragment.texcoord[0].w, c[3].zyyy, fragment.texcoord[0];\n"
+ "TXP R1, R2, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "TXP R2, fragment.texcoord[0], texture[0], RECT;\n"
+ "MUL R2, R2, c[3].w;\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].wyyy, fragment.texcoord[0];\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[0].z, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[1].zyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].xyyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[0].z, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].wyyy, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* linear21x21_V =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[4] = { { 0, 9.5, 0.095238, 7.5 },\n"
+ " { 0, 5.5, 3.5, 1.5 },\n"
+ " { 0, -9.5, -7.5, -5.5 },\n"
+ " { 0, -3.5, -1.5, 0.047619 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R1, fragment.texcoord[0].w, c[2].xzxx, fragment.texcoord[0];\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].xyxx, fragment.texcoord[0];\n"
+ "MAD R2, fragment.texcoord[0].w, c[2].xwxx, fragment.texcoord[0];\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "TXP R1, R2, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "MAD R2, fragment.texcoord[0].w, c[3].xyxx, fragment.texcoord[0];\n"
+ "TXP R1, R2, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "MAD R2, fragment.texcoord[0].w, c[3].xzxx, fragment.texcoord[0];\n"
+ "TXP R1, R2, texture[0], RECT;\n"
+ "ADD R0, R0, R1;\n"
+ "TXP R2, fragment.texcoord[0], texture[0], RECT;\n"
+ "MUL R2, R2, c[3].w;\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].xwxx, fragment.texcoord[0];\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[0].z, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[1].xzxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].xyxx, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[0].z, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].xwxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyxx, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+static const char* gaussian21x21_V =
+ "!!ARBfp1.0\n"
+ "OPTION ARB_precision_hint_fastest;\n"
+ "PARAM c[6] = { { 0, 9.3001366, 0.001594, 7.3051109 },\n"
+ " { 0.0084830001, 0, 5.3300581, 0.038972002 },\n"
+ " { 0, 3.380198, 0.126184, 1.446185 },\n"
+ " { 0.25026399, 0.14900599, 0, -1.446185 },\n"
+ " { 0, -3.380198, -5.3300581, -9.3001366 },\n"
+ " { 0, -7.3051109 } };\n"
+ "TEMP R0;\n"
+ "TEMP R1;\n"
+ "TEMP R2;\n"
+ "MAD R0, fragment.texcoord[0].w, c[5].xyxx, fragment.texcoord[0];\n"
+ "TXP R2, R0, texture[0], RECT;\n"
+ "MAD R1, fragment.texcoord[0].w, c[4].xzxx, fragment.texcoord[0];\n"
+ "MAD R0, fragment.texcoord[0].w, c[4].xwxx, fragment.texcoord[0];\n"
+ "MUL R2, R2, c[1].x;\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[0].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[1].w, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[4].xyxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[3].zwzz, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[2].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[3].x, R0;\n"
+ "MAD R1, fragment.texcoord[0].w, c[2].xwxx, fragment.texcoord[0];\n"
+ "TXP R0, fragment.texcoord[0], texture[0], RECT;\n"
+ "MAD R0, R0, c[3].y, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[3].x, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[2].xyxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[1].yzyy, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[2].z, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD R2, R1, c[1].w, R0;\n"
+ "MAD R0, fragment.texcoord[0].w, c[0].xwxx, fragment.texcoord[0];\n"
+ "MAD R1, fragment.texcoord[0].w, c[0].xyxx, fragment.texcoord[0];\n"
+ "TXP R0, R0, texture[0], RECT;\n"
+ "MAD R0, R0, c[1].x, R2;\n"
+ "TXP R1, R1, texture[0], RECT;\n"
+ "MAD result.color, R1, c[0].z, R0;\n"
+ "END\n"
+;
+
+#endif