Fix multiple snippet interleaving bug

Interleaving multiple snippets with different hooks
(COGL_SNIPPET_HOOK_VERTEX and COGL_SNIPPET_HOOK_VERTEX_TRANSFORM,
for instance) used to cause a bug during shader code generation.

Reviewed-by: Neil Roberts <neil@linux.intel.com>

(cherry picked from commit 38ca76695d54bbbfe3b940a6d0b2ae879e6fd66b)
This commit is contained in:
Plamena Manolova 2013-03-20 14:25:19 +00:00 committed by Neil Roberts
parent 22363a4137
commit b833d26b3f

View File

@ -100,7 +100,7 @@ _cogl_pipeline_snippet_generate_code (const CoglPipelineSnippetData *data)
for (snippet = first_snippet, snippet_num = 0; for (snippet = first_snippet, snippet_num = 0;
snippet_num < n_snippets; snippet_num < n_snippets;
snippet = COGL_LIST_NEXT (snippet, list_node), snippet_num++) snippet = COGL_LIST_NEXT (snippet, list_node))
if (snippet->snippet->hook == data->hook) if (snippet->snippet->hook == data->hook)
{ {
const char *source; const char *source;
@ -180,6 +180,7 @@ _cogl_pipeline_snippet_generate_code (const CoglPipelineSnippetData *data)
data->return_variable); data->return_variable);
g_string_append (data->source_buf, "}\n"); g_string_append (data->source_buf, "}\n");
snippet_num++;
} }
} }