All pastes #1914592 Raw Edit

Mine

public text v1 · immutable
#1914592 ·published 2010-08-10 18:23 UTC
rendered paste body
diff --git a/src/mesa/slang/slang_typeinfo.c b/src/mesa/slang/slang_typeinfo.c
index d039a12..eccd29f 100644
--- a/src/mesa/slang/slang_typeinfo.c
+++ b/src/mesa/slang/slang_typeinfo.c
@@ -187,8 +187,11 @@ static const type_specifier_type_name type_specifier_type_names[] = {
    {"vec3", SLANG_SPEC_VEC3},
    {"vec4", SLANG_SPEC_VEC4},
    {"mat2", SLANG_SPEC_MAT2},
+   {"mat2x2", SLANG_SPEC_MAT22},
    {"mat3", SLANG_SPEC_MAT3},
+   {"mat3x3", SLANG_SPEC_MAT33},
    {"mat4", SLANG_SPEC_MAT4},
+   {"mat4x4", SLANG_SPEC_MAT44},
    {"mat2x3", SLANG_SPEC_MAT23},
    {"mat3x2", SLANG_SPEC_MAT32},
    {"mat2x4", SLANG_SPEC_MAT24},
@@ -934,12 +937,15 @@ _slang_type_is_matrix(slang_type_specifier_type ty)
    case SLANG_SPEC_MAT2:
    case SLANG_SPEC_MAT3:
    case SLANG_SPEC_MAT4:
+   case SLANG_SPEC_MAT22:
    case SLANG_SPEC_MAT23:
    case SLANG_SPEC_MAT32:
+   case SLANG_SPEC_MAT33:
    case SLANG_SPEC_MAT24:
    case SLANG_SPEC_MAT42:
    case SLANG_SPEC_MAT34:
    case SLANG_SPEC_MAT43:
+   case SLANG_SPEC_MAT44:
       return GL_TRUE;
    default:
       return GL_FALSE;
@@ -986,12 +992,15 @@ _slang_type_is_float_vec_mat(slang_type_specifier_type ty)
    case SLANG_SPEC_MAT2:
    case SLANG_SPEC_MAT3:
    case SLANG_SPEC_MAT4:
+   case SLANG_SPEC_MAT22:
    case SLANG_SPEC_MAT23:
    case SLANG_SPEC_MAT32:
+   case SLANG_SPEC_MAT33:
    case SLANG_SPEC_MAT24:
    case SLANG_SPEC_MAT42:
    case SLANG_SPEC_MAT34:
    case SLANG_SPEC_MAT43:
+   case SLANG_SPEC_MAT44:
       return GL_TRUE;
    default:
       return GL_FALSE;
@@ -1023,10 +1032,13 @@ _slang_type_base(slang_type_specifier_type ty)
    case SLANG_SPEC_BVEC4:
       return SLANG_SPEC_BOOL;
    case SLANG_SPEC_MAT2:
+   case SLANG_SPEC_MAT22:
       return SLANG_SPEC_VEC2;
    case SLANG_SPEC_MAT3:
+   case SLANG_SPEC_MAT33:
       return SLANG_SPEC_VEC3;
    case SLANG_SPEC_MAT4:
+   case SLANG_SPEC_MAT44:
       return SLANG_SPEC_VEC4;
    case SLANG_SPEC_MAT23:
       return SLANG_SPEC_VEC3;
@@ -1062,16 +1074,19 @@ _slang_type_dim(slang_type_specifier_type ty)
    case SLANG_SPEC_IVEC2:
    case SLANG_SPEC_BVEC2:
    case SLANG_SPEC_MAT2:
+   case SLANG_SPEC_MAT22:
       return 2;
    case SLANG_SPEC_VEC3:
    case SLANG_SPEC_IVEC3:
    case SLANG_SPEC_BVEC3:
    case SLANG_SPEC_MAT3:
+   case SLANG_SPEC_MAT33:
       return 3;
    case SLANG_SPEC_VEC4:
    case SLANG_SPEC_IVEC4:
    case SLANG_SPEC_BVEC4:
    case SLANG_SPEC_MAT4:
+   case SLANG_SPEC_MAT44:
       return 4;
 
    case SLANG_SPEC_MAT23:
@@ -1125,10 +1140,13 @@ _slang_gltype_from_specifier(const slang_type_specifier *type)
    case SLANG_SPEC_VEC4:
       return GL_FLOAT_VEC4;
    case SLANG_SPEC_MAT2:
+   case SLANG_SPEC_MAT22:
       return GL_FLOAT_MAT2;
    case SLANG_SPEC_MAT3:
+   case SLANG_SPEC_MAT33:
       return GL_FLOAT_MAT3;
    case SLANG_SPEC_MAT4:
+   case SLANG_SPEC_MAT44:
       return GL_FLOAT_MAT4;
    case SLANG_SPEC_MAT23:
       return GL_FLOAT_MAT2x3;
diff --git a/src/mesa/slang/slang_typeinfo.h b/src/mesa/slang/slang_typeinfo.h
index 2251b06..a156bbd 100644
--- a/src/mesa/slang/slang_typeinfo.h
+++ b/src/mesa/slang/slang_typeinfo.h
@@ -130,11 +130,14 @@ typedef enum slang_type_specifier_type_
    SLANG_SPEC_MAT3,
    SLANG_SPEC_MAT4,
    SLANG_SPEC_MAT23,
+   SLANG_SPEC_MAT22,
    SLANG_SPEC_MAT32,
+   SLANG_SPEC_MAT33,
    SLANG_SPEC_MAT24,
    SLANG_SPEC_MAT42,
    SLANG_SPEC_MAT34,
    SLANG_SPEC_MAT43,
+   SLANG_SPEC_MAT44,
    SLANG_SPEC_SAMPLER_1D,
    SLANG_SPEC_SAMPLER_2D,
    SLANG_SPEC_SAMPLER_3D,