[Cogl] [PATCH] pipeline: Use cogl_depth_state_init to init default depth state

Neil Roberts neil at linux.intel.com
Sat Mar 31 13:30:26 PDT 2012


The previous code to initialise the depth state on the default
pipeline wasn't initialising the magic number. If you later tried to
retrieve the depth state using cogl_pipeline_get_depth_state you would
end up with an invalid depth state struct and you would just get
warnings if you tried to use it for anything. This patch just replaces
the initialisation with a call to cogl_depth_state_init because it
uses the same values anyway.
---
 cogl/cogl-depth-state.c |    1 +
 cogl/cogl-pipeline.c    |    8 +-------
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/cogl/cogl-depth-state.c b/cogl/cogl-depth-state.c
index fb2fafe..2e5c86f 100644
--- a/cogl/cogl-depth-state.c
+++ b/cogl/cogl-depth-state.c
@@ -36,6 +36,7 @@ cogl_depth_state_init (CoglDepthState *state)
 {
   state->magic = COGL_DEPTH_STATE_MAGIC;
 
+  /* The same as the GL defaults */
   state->test_enabled = FALSE;
   state->write_enabled = TRUE;
   state->test_function = COGL_DEPTH_TEST_FUNCTION_LESS;
diff --git a/cogl/cogl-pipeline.c b/cogl/cogl-pipeline.c
index 7393404..7ee1b29 100644
--- a/cogl/cogl-pipeline.c
+++ b/cogl/cogl-pipeline.c
@@ -106,7 +106,6 @@ _cogl_pipeline_init_default_pipeline (void)
   CoglPipelineLightingState *lighting_state = &big_state->lighting_state;
   CoglPipelineAlphaFuncState *alpha_state = &big_state->alpha_state;
   CoglPipelineBlendState *blend_state = &big_state->blend_state;
-  CoglDepthState *depth_state = &big_state->depth_state;
   CoglPipelineLogicOpsState *logic_ops_state = &big_state->logic_ops_state;
   CoglPipelineCullFaceState *cull_face_state = &big_state->cull_face_state;
   CoglPipelineUniformsState *uniforms_state = &big_state->uniforms_state;
@@ -210,12 +209,7 @@ _cogl_pipeline_init_default_pipeline (void)
 
   big_state->user_program = COGL_INVALID_HANDLE;
 
-  /* The same as the GL defaults */
-  depth_state->test_enabled = FALSE;
-  depth_state->test_function = COGL_DEPTH_TEST_FUNCTION_LESS;
-  depth_state->write_enabled = TRUE;
-  depth_state->range_near = 0;
-  depth_state->range_far = 1;
+  cogl_depth_state_init (&big_state->depth_state);
 
   big_state->point_size = 1.0f;
 
-- 
1.7.3.16.g9464b



More information about the Cogl mailing list