Home | History | Annotate | Download | only in main

Lines Matching full:ctx

70    GET_CURRENT_CONTEXT(ctx);
71 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
79 _mesa_error( ctx, GL_INVALID_VALUE, "glFrustum" );
83 _math_matrix_frustum( ctx->CurrentStack->Top,
87 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
112 GET_CURRENT_CONTEXT(ctx);
113 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
116 _mesa_debug(ctx, "glOrtho(%f, %f, %f, %f, %f, %f)\n",
123 _mesa_error( ctx, GL_INVALID_VALUE, "glOrtho" );
127 _math_matrix_ortho( ctx->CurrentStack->Top,
131 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
149 GET_CURRENT_CONTEXT(ctx);
150 ASSERT_OUTSIDE_BEGIN_END(ctx);
152 if (ctx->Transform.MatrixMode == mode && mode != GL_TEXTURE)
154 FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
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 < Elements(ctx->TextureMatrixStack));
180 ctx->CurrentStack = &ctx->TextureMatrixStack[ctx->Texture.CurrentUnit];
190 if (ctx->API == API_OPENGL && ctx->Extensions.NV_vertex_program) {
191 ctx->CurrentStack = &ctx->ProgramMatrixStack[mode - GL_MATRIX0_NV];
194 _mesa_error( ctx, GL_INVALID_ENUM, "glMatrixMode(mode)" );
206 if (ctx->API == API_OPENGL
207 && (ctx->Extensions.ARB_vertex_program ||
208 ctx->Extensions.ARB_fragment_program)) {
210 if (m > ctx->Const.MaxProgramMatrices) {
211 _mesa_error(ctx, GL_INVALID_ENUM,
215 ctx->CurrentStack = &ctx->ProgramMatrixStack[m];
218 _mesa_error( ctx, GL_INVALID_ENUM, "glMatrixMode(mode)" );
223 _mesa_error( ctx, GL_INVALID_ENUM, "glMatrixMode(mode)" );
227 ctx->Transform.MatrixMode = mode;
243 GET_CURRENT_CONTEXT(ctx);
244 struct gl_matrix_stack *stack = ctx->CurrentStack;
245 ASSERT_OUTSIDE_BEGIN_END(ctx);
248 _mesa_debug(ctx, "glPushMatrix %s\n",
249 _mesa_lookup_enum_by_nr(ctx->Transform.MatrixMode));
252 if (ctx->Transform.MatrixMode == GL_TEXTURE) {
253 _mesa_error(ctx, GL_STACK_OVERFLOW,
255 ctx->Texture.CurrentUnit);
258 _mesa_error(ctx, GL_STACK_OVERFLOW, "glPushMatrix(mode=%s)",
259 _mesa_lookup_enum_by_nr(ctx->Transform.MatrixMode));
267 ctx->NewState |= stack->DirtyFlag;
283 GET_CURRENT_CONTEXT(ctx);
284 struct gl_matrix_stack *stack = ctx->CurrentStack;
285 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
288 _mesa_debug(ctx, "glPopMatrix %s\n",
289 _mesa_lookup_enum_by_nr(ctx->Transform.MatrixMode));
292 if (ctx->Transform.MatrixMode == GL_TEXTURE) {
293 _mesa_error(ctx, GL_STACK_UNDERFLOW,
295 ctx->Texture.CurrentUnit);
298 _mesa_error(ctx, GL_STACK_UNDERFLOW, "glPopMatrix(mode=%s)",
299 _mesa_lookup_enum_by_nr(ctx->Transform.MatrixMode));
305 ctx->NewState |= stack->DirtyFlag;
321 GET_CURRENT_CONTEXT(ctx);
322 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
325 _mesa_debug(ctx, "glLoadIdentity()\n");
327 _math_matrix_set_identity( ctx->CurrentStack->Top );
328 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
346 GET_CURRENT_CONTEXT(ctx);
349 _mesa_debug(ctx,
356 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
357 _math_matrix_loadf( ctx->CurrentStack->Top, m );
358 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
376 GET_CURRENT_CONTEXT(ctx);
379 _mesa_debug(ctx,
385 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
386 _math_matrix_mul_floats( ctx->CurrentStack->Top, m );
387 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
408 GET_CURRENT_CONTEXT(ctx);
409 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
411 _math_matrix_rotate( ctx->CurrentStack->Top, angle, x, y, z);
412 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
433 GET_CURRENT_CONTEXT(ctx);
434 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
435 _math_matrix_scale( ctx->CurrentStack->Top, x, y, z);
436 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
456 GET_CURRENT_CONTEXT(ctx);
457 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
458 _math_matrix_translate( ctx->CurrentStack->Top, x, y, z);
459 ctx->NewState |= ctx->CurrentStack->DirtyFlag;
560 * \param ctx GL context.
571 update_projection( struct gl_context *ctx )
573 _math_matrix_analyse( ctx->ProjectionMatrixStack.Top );
579 if (ctx->Transform.ClipPlanesEnabled) {
581 ctx->Const.MaxClipPlanes; p++) {
582 if (ctx->Transform.ClipPlanesEnabled & (1 << p)) {
583 _mesa_transform_vector( ctx->Transform._ClipUserPlane[p],
584 ctx->Transform.EyeUserPlane[p],
585 ctx->ProjectionMatrixStack.Top->inv );
596 * \param ctx GL context.
603 calculate_model_project_matrix( struct gl_context *ctx )
605 _math_matrix_mul_matrix( &ctx->_ModelProjectMatrix,
606 ctx->ProjectionMatrixStack.Top,
607 ctx->ModelviewMatrixStack.Top );
609 _math_matrix_analyse( &ctx->_ModelProjectMatrix );
616 * \param ctx GL context.
624 void _mesa_update_modelview_project( struct gl_context *ctx, GLuint new_state )
627 _math_matrix_analyse( ctx->ModelviewMatrixStack.Top );
631 TRANSFORM_POINT3( ctx->Transform.CullObjPos,
632 ctx->ModelviewMatrixStack.Top->inv,
633 ctx->Transform.CullEyePos );
638 update_projection( ctx );
643 calculate_model_project_matrix(ctx);
711 * \param ctx GL context.
716 void _mesa_init_matrix( struct gl_context * ctx )
721 init_matrix_stack(&ctx->ModelviewMatrixStack, MAX_MODELVIEW_STACK_DEPTH,
723 init_matrix_stack(&ctx->ProjectionMatrixStack, MAX_PROJECTION_STACK_DEPTH,
725 for (i = 0; i < Elements(ctx->TextureMatrixStack); i++)
726 init_matrix_stack(&ctx->TextureMatrixStack[i], MAX_TEXTURE_STACK_DEPTH,
728 for (i = 0; i < Elements(ctx->ProgramMatrixStack); i++)
729 init_matrix_stack(&ctx->ProgramMatrixStack[i],
731 ctx->CurrentStack = &ctx->ModelviewMatrixStack;
734 _math_matrix_ctr( &ctx->_ModelProjectMatrix );
741 * \param ctx GL context.
746 void _mesa_free_matrix_data( struct gl_context *ctx )
750 free_matrix_stack(&ctx->ModelviewMatrixStack);
751 free_matrix_stack(&ctx->ProjectionMatrixStack);
752 for (i = 0; i < Elements(ctx->TextureMatrixStack); i++)
753 free_matrix_stack(&ctx->TextureMatrixStack[i]);
754 for (i = 0; i < Elements(ctx->ProgramMatrixStack); i++)
755 free_matrix_stack(&ctx->ProgramMatrixStack[i]);
757 _math_matrix_dtr( &ctx->_ModelProjectMatrix );
765 * \param ctx GL context.
769 void _mesa_init_transform( struct gl_context *ctx )
774 ctx->Transform.MatrixMode = GL_MODELVIEW;
775 ctx->Transform.Normalize = GL_FALSE;
776 ctx->Transform.RescaleNormals = GL_FALSE;
777 ctx->Transform.RasterPositionUnclipped = GL_FALSE;
778 for (i=0;i<ctx->Const.MaxClipPlanes;i++) {
779 ASSIGN_4V( ctx->Transform.EyeUserPlane[i], 0.0, 0.0, 0.0, 0.0 );
781 ctx->Transform.ClipPlanesEnabled = 0;
783 ASSIGN_4V( ctx->Transform.CullObjPos, 0.0, 0.0, 1.0, 0.0 );
784 ASSIGN_4V( ctx->Transform.CullEyePos, 0.0, 0.0, 1.0, 0.0 );