mirror of
https://github.com/brl/mutter.git
synced 2024-12-23 19:42:05 +00:00
[cogl matrix] Adds ability to dirty state cached by the client matrix apis
To be able to load matrices to GL manually within Cogl we need a way to dirty the state cached by the client matrix stack API.
This commit is contained in:
parent
26d5afd203
commit
27fff12a6a
@ -354,6 +354,21 @@ _cogl_current_matrix_state_flush (void)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
_cogl_current_matrix_state_dirty (void)
|
||||
{
|
||||
_COGL_GET_CONTEXT (ctx, NO_RETVAL);
|
||||
|
||||
if (ctx->matrix_mode != COGL_MATRIX_MODELVIEW)
|
||||
{
|
||||
g_warning ("matrix state must be dirtied in MODELVIEW mode");
|
||||
return;
|
||||
}
|
||||
|
||||
if (ctx->modelview_stack)
|
||||
_cogl_matrix_stack_dirty (ctx->modelview_stack);
|
||||
}
|
||||
|
||||
void
|
||||
cogl_push_matrix (void)
|
||||
{
|
||||
|
@ -88,5 +88,6 @@ void _cogl_get_matrix (CoglMatrixMode mode,
|
||||
void _cogl_current_matrix_state_init (void);
|
||||
void _cogl_current_matrix_state_destroy (void);
|
||||
void _cogl_current_matrix_state_flush (void);
|
||||
void _cogl_current_matrix_state_dirty (void);
|
||||
|
||||
#endif /* __COGL_CURRENT_MATRIX_H */
|
||||
|
@ -360,3 +360,10 @@ _cogl_matrix_stack_flush_to_gl (CoglMatrixStack *stack,
|
||||
if (gl_mode != GL_MODELVIEW)
|
||||
GE (glMatrixMode (GL_MODELVIEW));
|
||||
}
|
||||
|
||||
void
|
||||
_cogl_matrix_stack_dirty (CoglMatrixStack *stack)
|
||||
{
|
||||
stack->flushed_state = NULL;
|
||||
}
|
||||
|
||||
|
@ -76,5 +76,6 @@ void _cogl_matrix_stack_set (CoglMatrixStack *stack,
|
||||
const CoglMatrix *matrix);
|
||||
void _cogl_matrix_stack_flush_to_gl (CoglMatrixStack *stack,
|
||||
GLenum gl_mode);
|
||||
void _cogl_matrix_stack_dirty (CoglMatrixStack *stack);
|
||||
|
||||
#endif /* __COGL_MATRIX_STACK_H */
|
||||
|
Loading…
Reference in New Issue
Block a user