summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_compile_variable.c
diff options
context:
space:
mode:
authorBrian <brian@nostromo.localnet.net>2007-04-08 16:47:32 -0600
committerBrian <brian@nostromo.localnet.net>2007-04-08 16:47:32 -0600
commit5c0c60a13cb95032a49aa77ae7275387a351a057 (patch)
tree456aa4eba1683dfc06835c80212a928d2d0af656 /src/mesa/shader/slang/slang_compile_variable.c
parent5dba996dba3bd55f1f44904e7abd9486fee899d9 (diff)
support for GLSL 1.20 non-square matrices
Diffstat (limited to 'src/mesa/shader/slang/slang_compile_variable.c')
-rw-r--r--src/mesa/shader/slang/slang_compile_variable.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mesa/shader/slang/slang_compile_variable.c b/src/mesa/shader/slang/slang_compile_variable.c
index 9a0b985507..819b4f901b 100644
--- a/src/mesa/shader/slang/slang_compile_variable.c
+++ b/src/mesa/shader/slang/slang_compile_variable.c
@@ -56,6 +56,12 @@ static const type_specifier_type_name type_specifier_type_names[] = {
{"mat2", SLANG_SPEC_MAT2},
{"mat3", SLANG_SPEC_MAT3},
{"mat4", SLANG_SPEC_MAT4},
+ {"mat2x3", SLANG_SPEC_MAT23},
+ {"mat3x2", SLANG_SPEC_MAT32},
+ {"mat2x4", SLANG_SPEC_MAT24},
+ {"mat4x2", SLANG_SPEC_MAT42},
+ {"mat3x4", SLANG_SPEC_MAT34},
+ {"mat4x3", SLANG_SPEC_MAT43},
{"sampler1D", SLANG_SPEC_SAMPLER1D},
{"sampler2D", SLANG_SPEC_SAMPLER2D},
{"sampler3D", SLANG_SPEC_SAMPLER3D},
@@ -367,6 +373,18 @@ gl_type_from_specifier(const slang_type_specifier * type)
return GL_FLOAT_MAT3_ARB;
case SLANG_SPEC_MAT4:
return GL_FLOAT_MAT4_ARB;
+ case SLANG_SPEC_MAT23:
+ return GL_FLOAT_MAT2x3_ARB;
+ case SLANG_SPEC_MAT32:
+ return GL_FLOAT_MAT3x2_ARB;
+ case SLANG_SPEC_MAT24:
+ return GL_FLOAT_MAT2x4_ARB;
+ case SLANG_SPEC_MAT42:
+ return GL_FLOAT_MAT4x2_ARB;
+ case SLANG_SPEC_MAT34:
+ return GL_FLOAT_MAT3x4_ARB;
+ case SLANG_SPEC_MAT43:
+ return GL_FLOAT_MAT4x3_ARB;
case SLANG_SPEC_SAMPLER1D:
return GL_SAMPLER_1D_ARB;
case SLANG_SPEC_SAMPLER2D: