diff options
Diffstat (limited to 'cogl/cogl-pipeline.c')
-rw-r--r-- | cogl/cogl-pipeline.c | 48 |
1 files changed, 6 insertions, 42 deletions
diff --git a/cogl/cogl-pipeline.c b/cogl/cogl-pipeline.c index e47a5deb..2831b55f 100644 --- a/cogl/cogl-pipeline.c +++ b/cogl/cogl-pipeline.c @@ -445,22 +445,6 @@ destroy_weak_children_cb (CoglNode *node, } static void -_cogl_pipeline_snippet_free (CoglPipelineSnippet *pipeline_snippet) -{ - cogl_object_unref (pipeline_snippet->snippet); - g_slice_free (CoglPipelineSnippet, pipeline_snippet); -} - -static void -_cogl_pipeline_snippet_list_free (CoglPipelineSnippetList *list) -{ - CoglPipelineSnippet *pipeline_snippet, *tmp; - - COGL_LIST_FOREACH_SAFE (pipeline_snippet, list, list_node, tmp) - _cogl_pipeline_snippet_free (pipeline_snippet); -} - -static void _cogl_pipeline_free (CoglPipeline *pipeline) { if (!pipeline->is_weak) @@ -853,30 +837,6 @@ _cogl_pipeline_set_vertend (CoglPipeline *pipeline, int vertend) } static void -_cogl_pipeline_snippet_list_copy (CoglPipelineSnippetList *dst, - const CoglPipelineSnippetList *src) -{ - CoglPipelineSnippet *tail = NULL; - const CoglPipelineSnippet *l; - - COGL_LIST_INIT (dst); - - COGL_LIST_FOREACH (l, src, list_node) - { - CoglPipelineSnippet *copy = g_slice_dup (CoglPipelineSnippet, l); - - cogl_object_ref (copy->snippet); - - if (tail) - COGL_LIST_INSERT_AFTER (tail, copy, list_node); - else - COGL_LIST_INSERT_HEAD (dst, copy, list_node); - - tail = copy; - } -} - -static void _cogl_pipeline_copy_differences (CoglPipeline *dest, CoglPipeline *src, unsigned long differences) @@ -2642,9 +2602,12 @@ _cogl_pipeline_init_layer_state_hash_functions (void) _index = COGL_PIPELINE_LAYER_STATE_POINT_SPRITE_COORDS_INDEX; layer_state_hash_functions[_index] = _cogl_pipeline_layer_hash_point_sprite_state; + _index = COGL_PIPELINE_LAYER_STATE_FRAGMENT_SNIPPETS_INDEX; + layer_state_hash_functions[_index] = + _cogl_pipeline_layer_hash_fragment_snippets_state; /* So we get a big error if we forget to update this code! */ - g_assert (COGL_PIPELINE_LAYER_STATE_SPARSE_COUNT == 9); + g_assert (COGL_PIPELINE_LAYER_STATE_SPARSE_COUNT == 10); } static gboolean @@ -2928,7 +2891,8 @@ _cogl_pipeline_get_layer_state_for_fragment_codegen (CoglContext *context) (COGL_PIPELINE_LAYER_STATE_COMBINE | COGL_PIPELINE_LAYER_STATE_TEXTURE_TARGET | COGL_PIPELINE_LAYER_STATE_POINT_SPRITE_COORDS | - COGL_PIPELINE_LAYER_STATE_UNIT); + COGL_PIPELINE_LAYER_STATE_UNIT | + COGL_PIPELINE_LAYER_STATE_FRAGMENT_SNIPPETS); if (context->driver == COGL_DRIVER_GLES2) state |= COGL_PIPELINE_LAYER_STATE_POINT_SPRITE_COORDS; |