mesa: use Elements() as limit in loops over texture/program matrix stacks
authorBrian Paul <brianp@vmware.com>
Wed, 3 Feb 2010 19:26:02 +0000 (12:26 -0700)
committerBrian Paul <brianp@vmware.com>
Wed, 3 Feb 2010 22:48:42 +0000 (15:48 -0700)
src/mesa/main/matrix.c

index ebc3cbd59c32236846b42c9d4689d4159433c2f5..5c863f6f32ae445430b2c8315a038ae5f26e7630 100644 (file)
@@ -726,10 +726,10 @@ void _mesa_init_matrix( GLcontext * ctx )
                      _NEW_PROJECTION);
    init_matrix_stack(&ctx->ColorMatrixStack, MAX_COLOR_STACK_DEPTH,
                      _NEW_COLOR_MATRIX);
-   for (i = 0; i < MAX_TEXTURE_UNITS; i++)
+   for (i = 0; i < Elements(ctx->TextureMatrixStack); i++)
       init_matrix_stack(&ctx->TextureMatrixStack[i], MAX_TEXTURE_STACK_DEPTH,
                         _NEW_TEXTURE_MATRIX);
-   for (i = 0; i < MAX_PROGRAM_MATRICES; i++)
+   for (i = 0; i < Elements(ctx->ProgramMatrixStack); i++)
       init_matrix_stack(&ctx->ProgramMatrixStack[i], 
                        MAX_PROGRAM_MATRIX_STACK_DEPTH, _NEW_TRACK_MATRIX);
    ctx->CurrentStack = &ctx->ModelviewMatrixStack;
@@ -754,9 +754,9 @@ void _mesa_free_matrix_data( GLcontext *ctx )
    free_matrix_stack(&ctx->ModelviewMatrixStack);
    free_matrix_stack(&ctx->ProjectionMatrixStack);
    free_matrix_stack(&ctx->ColorMatrixStack);
-   for (i = 0; i < MAX_TEXTURE_UNITS; i++)
+   for (i = 0; i < Elements(ctx->TextureMatrixStack); i++)
       free_matrix_stack(&ctx->TextureMatrixStack[i]);
-   for (i = 0; i < MAX_PROGRAM_MATRICES; i++)
+   for (i = 0; i < Elements(ctx->ProgramMatrixStack); i++)
       free_matrix_stack(&ctx->ProgramMatrixStack[i]);
    /* combined Modelview*Projection matrix */
    _math_matrix_dtr( &ctx->_ModelProjectMatrix );