Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> --- src/mesa/main/get.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 16dce5b..4435c09 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -116,7 +116,8 @@ enum value_type { TYPE_DOUBLEN_2, TYPE_MATRIX, TYPE_MATRIX_T, - TYPE_CONST + TYPE_CONST, + TYPE_NORM_CONST }; enum value_location { @@ -186,6 +187,8 @@ union value { #undef CONST /* already defined through windows.h */ #define CONST(value) \ LOC_CONTEXT, TYPE_CONST, value +#define NORM_CONST(value) \ + LOC_CONTEXT, TYPE_NORM_CONST, FLOAT_TO_INT(value) #define BUFFER_INT(field) BUFFER_FIELD(field, TYPE_INT) #define BUFFER_ENUM(field) BUFFER_FIELD(field, TYPE_ENUM) @@ -1232,6 +1235,9 @@ _mesa_GetBooleanv(GLenum pname, GLboolean *params) case TYPE_CONST: params[0] = INT_TO_BOOLEAN(d->offset); break; + case TYPE_NORM_CONST: + params[0] = FLOAT_TO_BOOLEAN(INT_TO_FLOAT(d->offset)); + break; case TYPE_FLOAT_4: case TYPE_FLOATN_4: @@ -1320,6 +1326,9 @@ _mesa_GetFloatv(GLenum pname, GLfloat *params) case TYPE_CONST: params[0] = (GLfloat) d->offset; break; + case TYPE_NORM_CONST: + params[0] = INT_TO_FLOAT(d->offset); + break; case TYPE_FLOAT_4: case TYPE_FLOATN_4: @@ -1408,6 +1417,9 @@ _mesa_GetIntegerv(GLenum pname, GLint *params) case TYPE_CONST: params[0] = d->offset; break; + case TYPE_NORM_CONST: + params[0] = IROUND(INT_TO_FLOAT(d->offset)); + break; case TYPE_FLOAT_4: params[3] = IROUND(((GLfloat *) p)[3]); @@ -1502,6 +1514,9 @@ _mesa_GetInteger64v(GLenum pname, GLint64 *params) case TYPE_CONST: params[0] = d->offset; break; + case TYPE_NORM_CONST: + params[0] = IROUND64(INT_TO_FLOAT(d->offset)); + break; case TYPE_FLOAT_4: params[3] = IROUND64(((GLfloat *) p)[3]); @@ -1596,6 +1611,9 @@ _mesa_GetDoublev(GLenum pname, GLdouble *params) case TYPE_CONST: params[0] = d->offset; break; + case TYPE_NORM_CONST: + params[0] = INT_TO_FLOAT(d->offset); + break; case TYPE_FLOAT_4: case TYPE_FLOATN_4: @@ -2196,6 +2214,9 @@ _mesa_GetFixedv(GLenum pname, GLfixed *params) case TYPE_CONST: params[0] = INT_TO_FIXED(d->offset); break; + case TYPE_NORM_CONST: + params[0] = FLOAT_TO_FIXED(INT_TO_FLOAT(d->offset)); + break; case TYPE_FLOAT_4: case TYPE_FLOATN_4: -- 1.8.5.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev