Lines Matching refs:ctx

70    GET_CURRENT_CONTEXT(ctx);
72 FLUSH_VERTICES(ctx, 0);
80 _mesa_error( ctx, GL_INVALID_VALUE, "glFrustum" );
84 _math_matrix_frustum( ctx->CurrentStack->Top,
88 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
113 GET_CURRENT_CONTEXT(ctx);
115 FLUSH_VERTICES(ctx, 0);
118 _mesa_debug(ctx, "glOrtho(%f, %f, %f, %f, %f, %f)\n",
125 _mesa_error( ctx, GL_INVALID_VALUE, "glOrtho" );
129 _math_matrix_ortho( ctx->CurrentStack->Top,
133 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
151 GET_CURRENT_CONTEXT(ctx);
153 if (ctx->Transform.MatrixMode == mode && mode != GL_TEXTURE)
158 ctx->CurrentStack = &ctx->ModelviewMatrixStack;
161 ctx->CurrentStack = &ctx->ProjectionMatrixStack;
172 if (ctx->Texture.CurrentUnit >= ctx->Const.MaxTextureCoordUnits) {
173 _mesa_error(ctx, GL_INVALID_OPERATION,
175 ctx->Texture.CurrentUnit);
179 assert(ctx->Texture.CurrentUnit < ARRAY_SIZE(ctx->TextureMatrixStack));
180 ctx->CurrentStack = &ctx->TextureMatrixStack[ctx->Texture.CurrentUnit];
190 if (ctx->API == API_OPENGL_COMPAT
191 && (ctx->Extensions.ARB_vertex_program ||
192 ctx->Extensions.ARB_fragment_program)) {
194 if (m > ctx->Const.MaxProgramMatrices) {
195 _mesa_error(ctx, GL_INVALID_ENUM,
199 ctx->CurrentStack = &ctx->ProgramMatrixStack[m];
202 _mesa_error( ctx, GL_INVALID_ENUM, "glMatrixMode(mode)" );
207 _mesa_error( ctx, GL_INVALID_ENUM, "glMatrixMode(mode)" );
211 ctx->Transform.MatrixMode = mode;
227 GET_CURRENT_CONTEXT(ctx);
228 struct gl_matrix_stack *stack = ctx->CurrentStack;
231 _mesa_debug(ctx, "glPushMatrix %s\n",
232 _mesa_enum_to_string(ctx->Transform.MatrixMode));
235 if (ctx->Transform.MatrixMode == GL_TEXTURE) {
236 _mesa_error(ctx, GL_STACK_OVERFLOW,
238 ctx->Texture.CurrentUnit);
241 _mesa_error(ctx, GL_STACK_OVERFLOW, "glPushMatrix(mode=%s)",
242 _mesa_enum_to_string(ctx->Transform.MatrixMode));
253 _mesa_error(ctx, GL_OUT_OF_MEMORY, "glPushMatrix()");
268 ctx->NewState |= stack->DirtyFlag;
284 GET_CURRENT_CONTEXT(ctx);
285 struct gl_matrix_stack *stack = ctx->CurrentStack;
287 FLUSH_VERTICES(ctx, 0);
290 _mesa_debug(ctx, "glPopMatrix %s\n",
291 _mesa_enum_to_string(ctx->Transform.MatrixMode));
294 if (ctx->Transform.MatrixMode == GL_TEXTURE) {
295 _mesa_error(ctx, GL_STACK_UNDERFLOW,
297 ctx->Texture.CurrentUnit);
300 _mesa_error(ctx, GL_STACK_UNDERFLOW, "glPopMatrix(mode=%s)",
301 _mesa_enum_to_string(ctx->Transform.MatrixMode));
307 ctx->NewState |= stack->DirtyFlag;
323 GET_CURRENT_CONTEXT(ctx);
325 FLUSH_VERTICES(ctx, 0);
328 _mesa_debug(ctx, "glLoadIdentity()\n");
330 _math_matrix_set_identity( ctx->CurrentStack->Top );
331 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
349 GET_CURRENT_CONTEXT(ctx);
352 _mesa_debug(ctx,
359 if (memcmp(m, ctx->CurrentStack->Top->m, 16 * sizeof(GLfloat)) != 0) {
360 FLUSH_VERTICES(ctx, 0);
361 _math_matrix_loadf( ctx->CurrentStack->Top, m );
362 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
381 GET_CURRENT_CONTEXT(ctx);
384 _mesa_debug(ctx,
391 FLUSH_VERTICES(ctx, 0);
392 _math_matrix_mul_floats( ctx->CurrentStack->Top, m );
393 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
414 GET_CURRENT_CONTEXT(ctx);
416 FLUSH_VERTICES(ctx, 0);
418 _math_matrix_rotate( ctx->CurrentStack->Top, angle, x, y, z);
419 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
440 GET_CURRENT_CONTEXT(ctx);
442 FLUSH_VERTICES(ctx, 0);
443 _math_matrix_scale( ctx->CurrentStack->Top, x, y, z);
444 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
464 GET_CURRENT_CONTEXT(ctx);
466 FLUSH_VERTICES(ctx, 0);
467 _math_matrix_translate( ctx->CurrentStack->Top, x, y, z);
468 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
565 * \param ctx GL context.
576 update_projection( struct gl_context *ctx )
580 _math_matrix_analyse( ctx->ProjectionMatrixStack.Top );
585 mask = ctx->Transform.ClipPlanesEnabled;
589 _mesa_transform_vector( ctx->Transform._ClipUserPlane[p],
590 ctx->Transform.EyeUserPlane[p],
591 ctx->ProjectionMatrixStack.Top->inv );
599 * \param ctx GL context.
606 calculate_model_project_matrix( struct gl_context *ctx )
608 _math_matrix_mul_matrix( &ctx->_ModelProjectMatrix,
609 ctx->ProjectionMatrixStack.Top,
610 ctx->ModelviewMatrixStack.Top );
612 _math_matrix_analyse( &ctx->_ModelProjectMatrix );
619 * \param ctx GL context.
627 void _mesa_update_modelview_project( struct gl_context *ctx, GLuint new_state )
630 _math_matrix_analyse( ctx->ModelviewMatrixStack.Top );
633 update_projection( ctx );
638 calculate_model_project_matrix(ctx);
708 * \param ctx GL context.
713 void _mesa_init_matrix( struct gl_context * ctx )
718 init_matrix_stack(&ctx->ModelviewMatrixStack, MAX_MODELVIEW_STACK_DEPTH,
720 init_matrix_stack(&ctx->ProjectionMatrixStack, MAX_PROJECTION_STACK_DEPTH,
722 for (i = 0; i < ARRAY_SIZE(ctx->TextureMatrixStack); i++)
723 init_matrix_stack(&ctx->TextureMatrixStack[i], MAX_TEXTURE_STACK_DEPTH,
725 for (i = 0; i < ARRAY_SIZE(ctx->ProgramMatrixStack); i++)
726 init_matrix_stack(&ctx->ProgramMatrixStack[i],
728 ctx->CurrentStack = &ctx->ModelviewMatrixStack;
731 _math_matrix_ctr( &ctx->_ModelProjectMatrix );
738 * \param ctx GL context.
743 void _mesa_free_matrix_data( struct gl_context *ctx )
747 free_matrix_stack(&ctx->ModelviewMatrixStack);
748 free_matrix_stack(&ctx->ProjectionMatrixStack);
749 for (i = 0; i < ARRAY_SIZE(ctx->TextureMatrixStack); i++)
750 free_matrix_stack(&ctx->TextureMatrixStack[i]);
751 for (i = 0; i < ARRAY_SIZE(ctx->ProgramMatrixStack); i++)
752 free_matrix_stack(&ctx->ProgramMatrixStack[i]);
754 _math_matrix_dtr( &ctx->_ModelProjectMatrix );
762 * \param ctx GL context.
766 void _mesa_init_transform( struct gl_context *ctx )
771 ctx->Transform.MatrixMode = GL_MODELVIEW;
772 ctx->Transform.Normalize = GL_FALSE;
773 ctx->Transform.RescaleNormals = GL_FALSE;
774 ctx->Transform.RasterPositionUnclipped = GL_FALSE;
775 for (i=0;i<ctx->Const.MaxClipPlanes;i++) {
776 ASSIGN_4V( ctx->Transform.EyeUserPlane[i], 0.0, 0.0, 0.0, 0.0 );
778 ctx->Transform.ClipPlanesEnabled = 0;