Make backface culling be part of the legacy state
This adds an internal function to set the backface culling state on a pipeline. This includes properties to set the culling mode (front, back or both) and also to set which face is considered the front (COGL_WINDING_CLOCKWISE or COGL_WINDING_COUNTER_CLOCKWISE). The actual front face flushed to GL depends on whether we are rendering to an offscreen buffer or not. This means that when changing between on- and off- screen framebuffers it now checks whether the last flushed pipeline has backface culling enabled and forces a reflush of the cull face state if so. The backface culling is now set on a pipeline as part of the legacy state. This is important because some code in Cogl assumes it can flush a temporary pipeline to revert to a known state, but previously this wouldn't disable backface culling so things such as flushing the clip stack could get confused. Reviewed-by: Robert Bragg <robert@linux.intel.com>
This commit is contained in:

committed by
Robert Bragg

parent
879ce7301a
commit
dbff3a357e
@ -106,6 +106,8 @@ COGL_EXT_FUNCTION (void, glFlush,
|
||||
(void))
|
||||
COGL_EXT_FUNCTION (void, glFrontFace,
|
||||
(GLenum mode))
|
||||
COGL_EXT_FUNCTION (void, glCullFace,
|
||||
(GLenum mode))
|
||||
COGL_EXT_FUNCTION (void, glGenTextures,
|
||||
(GLsizei n, GLuint* textures))
|
||||
COGL_EXT_FUNCTION (GLenum, glGetError,
|
||||
|
Reference in New Issue
Block a user