summaryrefslogtreecommitdiff
path: root/cogl/cogl-pipeline.c
diff options
context:
space:
mode:
Diffstat (limited to 'cogl/cogl-pipeline.c')
-rw-r--r--cogl/cogl-pipeline.c48
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;