Home | History | Annotate | Download | only in main

Lines Matching refs:stack

62  * the top matrix of the current matrix stack and sets
104 * the top matrix of the current matrix stack and sets
136 * Set the current matrix stack.
138 * \param mode matrix stack.
144 * with the specified matrix stack.
232 * Push the current matrix stack.
236 * Verifies the current matrix stack is not full, and duplicates the top-most
237 * matrix in the stack.
238 * Marks __struct gl_contextRec::NewState with the stack dirty flag.
244 struct gl_matrix_stack *stack = ctx->CurrentStack;
251 if (stack->Depth + 1 >= stack->MaxDepth) {
263 _math_matrix_copy( &stack->Stack[stack->Depth + 1],
264 &stack->Stack[stack->Depth] );
265 stack->Depth++;
266 stack->Top = &(stack->Stack[stack->Depth]);
267 ctx->NewState |= stack->DirtyFlag;
272 * Pop the current matrix stack.
276 * Flushes the vertices, verifies the current matrix stack is not empty, and
277 * moves the stack head down.
278 * Marks __struct gl_contextRec::NewState with the dirty stack flag.
284 struct gl_matrix_stack *stack = ctx->CurrentStack;
291 if (stack->Depth == 0) {
303 stack->Depth--;
304 stack->Top = &(stack->Stack[stack->Depth]);
305 ctx->NewState |= stack->DirtyFlag;
315 * top-most matrix in the current stack.
316 * Marks __struct gl_contextRec::NewState with the stack dirty flag.
340 * matrix in the current stack and the given matrix.
341 * Marks __struct gl_contextRec::NewState with the dirty stack flag.
370 * matrix in the current stack and the given matrix. Marks
371 * __struct gl_contextRec::NewState with the dirty stack flag.
402 * matrix in the current stack and the given parameters. Marks
403 * __struct gl_contextRec::NewState with the dirty stack flag.
427 * matrix in the current stack and the given parameters. Marks
428 * __struct gl_contextRec::NewState with the dirty stack flag.
450 * matrix in the current stack and the given parameters. Marks
451 * __struct gl_contextRec::NewState with the dirty stack flag.
558 * Update the projection matrix stack.
563 * stack, and recomputes user clip positions if necessary.
650 /** Matrix stack initialization */
655 * Initialize a matrix stack.
657 * \param stack matrix stack.
658 * \param maxDepth maximum stack depth.
661 * Allocates an array of \p maxDepth elements for the matrix stack and calls
665 init_matrix_stack( struct gl_matrix_stack *stack,
670 stack->Depth = 0;
671 stack->MaxDepth = maxDepth;
672 stack->DirtyFlag = dirtyFlag;
673 /* The stack */
674 stack->Stack = (GLmatrix *) CALLOC(maxDepth * sizeof(GLmatrix));
676 _math_matrix_ctr(&stack->Stack[i]);
678 stack->Top = stack->Stack;
682 * Free matrix stack.
684 * \param stack matrix stack.
686 * Calls _math_matrix_dtr() for each element of the matrix stack and
690 free_matrix_stack( struct gl_matrix_stack *stack )
693 for (i = 0; i < stack->MaxDepth; i++) {
694 _math_matrix_dtr(&stack->Stack[i]);
696 FREE(stack->Stack);
697 stack->Stack = stack->Top = NULL;