diff --git a/cogl/cogl-pipeline-debug.c b/cogl/cogl-pipeline-debug.c index cd311119d..afac99040 100644 --- a/cogl/cogl-pipeline-debug.c +++ b/cogl/cogl-pipeline-debug.c @@ -158,7 +158,12 @@ dump_pipeline_cb (CoglNode *node, void *user_data) pipeline, COGL_OBJECT (pipeline)->ref_count, pipeline->has_static_breadcrumb ? - pipeline->static_breadcrumb : "NULL"); +#ifdef COGL_DEBUG_ENABLED + pipeline->static_breadcrumb : "NULL" +#else + "NULL" +#endif + ); changes_label = g_string_new (""); g_string_append_printf (changes_label, diff --git a/cogl/cogl-pipeline-private.h b/cogl/cogl-pipeline-private.h index 2679fbb40..3e385f537 100644 --- a/cogl/cogl-pipeline-private.h +++ b/cogl/cogl-pipeline-private.h @@ -424,10 +424,12 @@ struct _CoglPipeline * be allocated dynamically when required... */ CoglPipelineBigState *big_state; +#ifdef COGL_DEBUG_ENABLED /* For debugging purposes it's possible to associate a static const * string with a pipeline which can be an aid when trying to trace * where the pipeline originates from */ const char *static_breadcrumb; +#endif /* Cached state... */ @@ -486,10 +488,12 @@ struct _CoglPipeline unsigned int layers_cache_dirty:1; unsigned int deprecated_get_layers_list_dirty:1; +#ifdef COGL_DEBUG_ENABLED /* For debugging purposes it's possible to associate a static const * string with a pipeline which can be an aid when trying to trace * where the pipeline originates from */ unsigned int has_static_breadcrumb:1; +#endif /* There are multiple fragment and vertex processing backends for * CoglPipeline, glsl, arbfp and fixed that are bundled under a @@ -900,9 +904,11 @@ _cogl_pipeline_set_blend_enabled (CoglPipeline *pipeline, CoglBool _cogl_pipeline_get_fog_enabled (CoglPipeline *pipeline); +#ifdef COGL_DEBUG_ENABLED void _cogl_pipeline_set_static_breadcrumb (CoglPipeline *pipeline, const char *breadcrumb); +#endif unsigned long _cogl_pipeline_get_age (CoglPipeline *pipeline); diff --git a/cogl/cogl-pipeline.c b/cogl/cogl-pipeline.c index 6be22fba5..10599668c 100644 --- a/cogl/cogl-pipeline.c +++ b/cogl/cogl-pipeline.c @@ -423,7 +423,9 @@ cogl_pipeline_new (CoglContext *context) CoglPipeline *new; new = cogl_pipeline_copy (context->default_pipeline); +#ifdef COGL_DEBUG_ENABLED _cogl_pipeline_set_static_breadcrumb (new, "new"); +#endif return new; } @@ -1364,8 +1366,10 @@ _cogl_pipeline_pre_change_notify (CoglPipeline *pipeline, new_authority = cogl_pipeline_copy (_cogl_pipeline_get_parent (pipeline)); +#ifdef COGL_DEBUG_ENABLED _cogl_pipeline_set_static_breadcrumb (new_authority, "pre_change_notify:copy-on-write"); +#endif /* We could explicitly walk the descendants, OR together the set * of differences that we determine this pipeline is the @@ -2579,6 +2583,7 @@ _cogl_pipeline_journal_unref (CoglPipeline *pipeline) cogl_object_unref (pipeline); } +#ifdef COGL_DEBUG_ENABLED void _cogl_pipeline_apply_legacy_state (CoglPipeline *pipeline) { @@ -2620,6 +2625,7 @@ _cogl_pipeline_set_static_breadcrumb (CoglPipeline *pipeline, pipeline->has_static_breadcrumb = TRUE; pipeline->static_breadcrumb = breadcrumb; } +#endif typedef void (*LayerStateHashFunction) (CoglPipelineLayer *authority, CoglPipelineLayer **authorities,