Пример #1
0
CoglBool
_cogl_pipeline_has_non_layer_fragment_snippets (CoglPipeline *pipeline)
{
  CoglPipeline *authority =
    _cogl_pipeline_get_authority (pipeline,
                                  COGL_PIPELINE_STATE_FRAGMENT_SNIPPETS);

  return !COGL_LIST_EMPTY (&authority->big_state->fragment_snippets);
}
Пример #2
0
CoglBool
_cogl_pipeline_has_non_layer_vertex_snippets (CoglPipeline *pipeline)
{
  CoglPipeline *authority =
    _cogl_pipeline_get_authority (pipeline,
                                  COGL_PIPELINE_STATE_VERTEX_SNIPPETS);

  return !COGL_LIST_EMPTY (&authority->big_state->vertex_snippets);
}
Пример #3
0
static CoglBool
check_layer_has_fragment_snippet (CoglPipelineLayer *layer,
                                  void *user_data)
{
  unsigned long state = COGL_PIPELINE_LAYER_STATE_FRAGMENT_SNIPPETS;
  CoglPipelineLayer *authority =
    _cogl_pipeline_layer_get_authority (layer, state);
  CoglBool *found_fragment_snippet = user_data;

  if (!COGL_LIST_EMPTY (&authority->big_state->fragment_snippets))
    {
      *found_fragment_snippet = TRUE;
      return FALSE;
    }

  return TRUE;
}
Пример #4
0
void
_cogl_pipeline_snippet_list_add (CoglPipelineSnippetList *list,
                                 CoglSnippet *snippet)
{
  CoglPipelineSnippet *pipeline_snippet = g_slice_new (CoglPipelineSnippet);

  pipeline_snippet->snippet = cogl_object_ref (snippet);

  _cogl_snippet_make_immutable (pipeline_snippet->snippet);

  if (COGL_LIST_EMPTY (list))
    COGL_LIST_INSERT_HEAD (list, pipeline_snippet, list_node);
  else
    {
      CoglPipelineSnippet *tail;

      for (tail = COGL_LIST_FIRST (list);
           COGL_LIST_NEXT (tail, list_node);
           tail = COGL_LIST_NEXT (tail, list_node));

      COGL_LIST_INSERT_AFTER (tail, pipeline_snippet, list_node);
    }
}