X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fmatrix.c;h=00b8e00b75ef8c84ffc13758d3e116129b8d2eb0;hb=1a1db1746db82efc7f0643508886dfc78a15eb71;hp=56973661cea8f0d37ba4ef28f853e3270258c319;hpb=cfc7ded3ff5bdaff17e1022e11fd0e3aeee870a1;p=mesa.git diff --git a/src/mesa/main/matrix.c b/src/mesa/main/matrix.c index 56973661cea..00b8e00b75e 100644 --- a/src/mesa/main/matrix.c +++ b/src/mesa/main/matrix.c @@ -179,22 +179,6 @@ _mesa_MatrixMode( GLenum mode ) ASSERT(ctx->Texture.CurrentUnit < Elements(ctx->TextureMatrixStack)); ctx->CurrentStack = &ctx->TextureMatrixStack[ctx->Texture.CurrentUnit]; break; - case GL_MATRIX0_NV: - case GL_MATRIX1_NV: - case GL_MATRIX2_NV: - case GL_MATRIX3_NV: - case GL_MATRIX4_NV: - case GL_MATRIX5_NV: - case GL_MATRIX6_NV: - case GL_MATRIX7_NV: - if (ctx->Extensions.NV_vertex_program) { - ctx->CurrentStack = &ctx->ProgramMatrixStack[mode - GL_MATRIX0_NV]; - } - else { - _mesa_error( ctx, GL_INVALID_ENUM, "glMatrixMode(mode)" ); - return; - } - break; case GL_MATRIX0_ARB: case GL_MATRIX1_ARB: case GL_MATRIX2_ARB: @@ -203,8 +187,9 @@ _mesa_MatrixMode( GLenum mode ) case GL_MATRIX5_ARB: case GL_MATRIX6_ARB: case GL_MATRIX7_ARB: - if (ctx->Extensions.ARB_vertex_program || - ctx->Extensions.ARB_fragment_program) { + if (ctx->API == API_OPENGL + && (ctx->Extensions.ARB_vertex_program || + ctx->Extensions.ARB_fragment_program)) { const GLuint m = mode - GL_MATRIX0_ARB; if (m > ctx->Const.MaxProgramMatrices) { _mesa_error(ctx, GL_INVALID_ENUM, @@ -459,7 +444,6 @@ _mesa_Translatef( GLfloat x, GLfloat y, GLfloat z ) } -#if _HAVE_FULL_GL void GLAPIENTRY _mesa_LoadMatrixd( const GLdouble *m ) { @@ -502,12 +486,10 @@ _mesa_Translated( GLdouble x, GLdouble y, GLdouble z ) { _mesa_Translatef((GLfloat) x, (GLfloat) y, (GLfloat) z); } -#endif -#if _HAVE_FULL_GL void GLAPIENTRY -_mesa_LoadTransposeMatrixfARB( const GLfloat *m ) +_mesa_LoadTransposeMatrixf( const GLfloat *m ) { GLfloat tm[16]; if (!m) return; @@ -517,7 +499,7 @@ _mesa_LoadTransposeMatrixfARB( const GLfloat *m ) void GLAPIENTRY -_mesa_LoadTransposeMatrixdARB( const GLdouble *m ) +_mesa_LoadTransposeMatrixd( const GLdouble *m ) { GLfloat tm[16]; if (!m) return; @@ -527,7 +509,7 @@ _mesa_LoadTransposeMatrixdARB( const GLdouble *m ) void GLAPIENTRY -_mesa_MultTransposeMatrixfARB( const GLfloat *m ) +_mesa_MultTransposeMatrixf( const GLfloat *m ) { GLfloat tm[16]; if (!m) return; @@ -537,14 +519,13 @@ _mesa_MultTransposeMatrixfARB( const GLfloat *m ) void GLAPIENTRY -_mesa_MultTransposeMatrixdARB( const GLdouble *m ) +_mesa_MultTransposeMatrixd( const GLdouble *m ) { GLfloat tm[16]; if (!m) return; _math_transposefd(tm, m); _mesa_MultMatrixf(tm); } -#endif @@ -571,7 +552,6 @@ update_projection( struct gl_context *ctx ) { _math_matrix_analyse( ctx->ProjectionMatrixStack.Top ); -#if FEATURE_userclip /* Recompute clip plane positions in clipspace. This is also done * in _mesa_ClipPlane(). */ @@ -585,7 +565,6 @@ update_projection( struct gl_context *ctx ) } } } -#endif } @@ -658,8 +637,7 @@ void _mesa_update_modelview_project( struct gl_context *ctx, GLuint new_state ) * \param dirtyFlag dirty flag. * * Allocates an array of \p maxDepth elements for the matrix stack and calls - * _math_matrix_ctr() and _math_matrix_alloc_inv() for each element to - * initialize it. + * _math_matrix_ctr() for each element to initialize it. */ static void init_matrix_stack( struct gl_matrix_stack *stack, @@ -671,10 +649,9 @@ init_matrix_stack( struct gl_matrix_stack *stack, stack->MaxDepth = maxDepth; stack->DirtyFlag = dirtyFlag; /* The stack */ - stack->Stack = (GLmatrix *) CALLOC(maxDepth * sizeof(GLmatrix)); + stack->Stack = calloc(maxDepth, sizeof(GLmatrix)); for (i = 0; i < maxDepth; i++) { _math_matrix_ctr(&stack->Stack[i]); - _math_matrix_alloc_inv(&stack->Stack[i]); } stack->Top = stack->Stack; } @@ -694,7 +671,7 @@ free_matrix_stack( struct gl_matrix_stack *stack ) for (i = 0; i < stack->MaxDepth; i++) { _math_matrix_dtr(&stack->Stack[i]); } - FREE(stack->Stack); + free(stack->Stack); stack->Stack = stack->Top = NULL; } @@ -769,14 +746,14 @@ void _mesa_free_matrix_data( struct gl_context *ctx ) */ void _mesa_init_transform( struct gl_context *ctx ) { - GLint i; + GLuint i; /* Transformation group */ ctx->Transform.MatrixMode = GL_MODELVIEW; ctx->Transform.Normalize = GL_FALSE; ctx->Transform.RescaleNormals = GL_FALSE; ctx->Transform.RasterPositionUnclipped = GL_FALSE; - for (i=0;iConst.MaxClipPlanes;i++) { ASSIGN_4V( ctx->Transform.EyeUserPlane[i], 0.0, 0.0, 0.0, 0.0 ); } ctx->Transform.ClipPlanesEnabled = 0;