4 * An object oriented GL/GLES Abstraction/Utility Layer
6 * Copyright (C) 2011 Intel Corporation.
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library. If not, see
20 * <http://www.gnu.org/licenses/>.
25 * Robert Bragg <robert@linux.intel.com>
28 #ifndef __COGL_PIPELINE_LAYER_STATE_PRIVATE_H
29 #define __COGL_PIPELINE_LAYER_STATE_PRIVATE_H
31 #include "cogl-pipeline-layer-state.h"
32 #include "cogl-pipeline-private.h"
35 _cogl_pipeline_set_layer_unit (CoglPipeline *required_owner,
36 CoglPipelineLayer *layer,
40 _cogl_pipeline_get_layer_min_filter (CoglPipeline *pipeline,
44 _cogl_pipeline_get_layer_mag_filter (CoglPipeline *pipeline,
48 _cogl_pipeline_layer_texture_type_equal (CoglPipelineLayer *authority0,
49 CoglPipelineLayer *authority1,
50 CoglPipelineEvalFlags flags);
53 _cogl_pipeline_layer_texture_data_equal (CoglPipelineLayer *authority0,
54 CoglPipelineLayer *authority1,
55 CoglPipelineEvalFlags flags);
58 _cogl_pipeline_layer_combine_state_equal (CoglPipelineLayer *authority0,
59 CoglPipelineLayer *authority1);
62 _cogl_pipeline_layer_combine_constant_equal (CoglPipelineLayer *authority0,
63 CoglPipelineLayer *authority1);
66 _cogl_pipeline_layer_filters_equal (CoglPipelineLayer *authority0,
67 CoglPipelineLayer *authority1);
70 _cogl_pipeline_layer_wrap_modes_equal (CoglPipelineLayer *authority0,
71 CoglPipelineLayer *authority1);
74 _cogl_pipeline_layer_user_matrix_equal (CoglPipelineLayer *authority0,
75 CoglPipelineLayer *authority1);
78 _cogl_pipeline_layer_point_sprite_coords_equal (CoglPipelineLayer *authority0,
79 CoglPipelineLayer *authority1);
82 _cogl_pipeline_layer_vertex_snippets_equal (CoglPipelineLayer *authority0,
83 CoglPipelineLayer *authority1);
86 _cogl_pipeline_layer_fragment_snippets_equal (CoglPipelineLayer *authority0,
87 CoglPipelineLayer *authority1);
90 _cogl_pipeline_layer_hash_unit_state (CoglPipelineLayer *authority,
91 CoglPipelineLayer **authorities,
92 CoglPipelineHashState *state);
95 _cogl_pipeline_layer_hash_texture_type_state (CoglPipelineLayer *authority,
96 CoglPipelineLayer **authorities,
97 CoglPipelineHashState *state);
100 _cogl_pipeline_layer_hash_texture_data_state (CoglPipelineLayer *authority,
101 CoglPipelineLayer **authorities,
102 CoglPipelineHashState *state);
105 _cogl_pipeline_layer_hash_filters_state (CoglPipelineLayer *authority,
106 CoglPipelineLayer **authorities,
107 CoglPipelineHashState *state);
110 _cogl_pipeline_layer_hash_wrap_modes_state (CoglPipelineLayer *authority,
111 CoglPipelineLayer **authorities,
112 CoglPipelineHashState *state);
115 _cogl_pipeline_layer_hash_combine_state (CoglPipelineLayer *authority,
116 CoglPipelineLayer **authorities,
117 CoglPipelineHashState *state);
120 _cogl_pipeline_layer_hash_combine_constant_state (CoglPipelineLayer *authority,
121 CoglPipelineLayer **authorities,
122 CoglPipelineHashState *state);
125 _cogl_pipeline_layer_hash_user_matrix_state (CoglPipelineLayer *authority,
126 CoglPipelineLayer **authorities,
127 CoglPipelineHashState *state);
130 _cogl_pipeline_layer_hash_point_sprite_state (CoglPipelineLayer *authority,
131 CoglPipelineLayer **authorities,
132 CoglPipelineHashState *state);
135 _cogl_pipeline_layer_hash_vertex_snippets_state (CoglPipelineLayer *authority,
136 CoglPipelineLayer **authorities,
137 CoglPipelineHashState *state);
140 _cogl_pipeline_layer_hash_fragment_snippets_state (CoglPipelineLayer *authority,
141 CoglPipelineLayer **authorities,
142 CoglPipelineHashState *state);
144 #endif /* __COGL_PIPELINE_LAYER_STATE_PRIVATE_H */