summaryrefslogtreecommitdiffstats
path: root/builtins/tools
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2010-06-09 15:17:41 -0700
committerKenneth Graunke <[email protected]>2010-06-09 15:35:54 -0700
commit0c8ffadc8cc0b0497873a8ce46ae4e1ae03eee54 (patch)
treedcc508202703b0d8c640b48ad89d0e3646981d9f /builtins/tools
parentd6a32d4b5450d76046428fd3f93a4feb0d14b5e6 (diff)
Implement matrixCompMult builtin - the last of the 110 builtins.
Diffstat (limited to 'builtins/tools')
-rwxr-xr-xbuiltins/tools/generate_matrixCompMultGLSL.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/builtins/tools/generate_matrixCompMultGLSL.py b/builtins/tools/generate_matrixCompMultGLSL.py
new file mode 100755
index 00000000000..391ad110d37
--- /dev/null
+++ b/builtins/tools/generate_matrixCompMultGLSL.py
@@ -0,0 +1,28 @@
+#!/usr/bin/python
+
+def gen_matrix(x, y = 0):
+ if y == 0:
+ y = x
+ type = "mat" + str(x)
+ if x != y:
+ type = type + "x" + str(y)
+ print type + " matrixCompMult(" + type + " x, " + type + " y)\n{"
+ print " " + type + " z;"
+
+ for i in range(x):
+ print " z[" + str(i) + "] = x[" + str(i) + "] * y[" + str(i) + "];"
+ print " return z;\n}"
+
+print "#version 120"
+# 1.10
+gen_matrix(2)
+gen_matrix(3)
+gen_matrix(4)
+
+# 1.20
+gen_matrix(2,3) # mat2x3 means 2 columns, 3 rows
+gen_matrix(3,2)
+gen_matrix(2,4)
+gen_matrix(4,2)
+gen_matrix(3,4)
+gen_matrix(4,3)