4 * An object oriented GL/GLES Abstraction/Utility Layer
6 * Copyright (C) 2008,2009,2010 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_STATE_PRIVATE_H
29 #define __COGL_PIPELINE_STATE_PRIVATE_H
32 _cogl_pipeline_get_user_program (CoglPipeline *pipeline);
35 _cogl_pipeline_has_vertex_snippets (CoglPipeline *pipeline);
38 _cogl_pipeline_has_fragment_snippets (CoglPipeline *pipeline);
41 _cogl_pipeline_has_non_layer_vertex_snippets (CoglPipeline *pipeline);
44 _cogl_pipeline_has_non_layer_fragment_snippets (CoglPipeline *pipeline);
47 _cogl_pipeline_set_fog_state (CoglPipeline *pipeline,
48 const CoglPipelineFogState *fog_state);
51 _cogl_pipeline_color_equal (CoglPipeline *authority0,
52 CoglPipeline *authority1);
55 _cogl_pipeline_lighting_state_equal (CoglPipeline *authority0,
56 CoglPipeline *authority1);
59 _cogl_pipeline_alpha_func_state_equal (CoglPipeline *authority0,
60 CoglPipeline *authority1);
63 _cogl_pipeline_alpha_func_reference_state_equal (CoglPipeline *authority0,
64 CoglPipeline *authority1);
67 _cogl_pipeline_blend_state_equal (CoglPipeline *authority0,
68 CoglPipeline *authority1);
71 _cogl_pipeline_depth_state_equal (CoglPipeline *authority0,
72 CoglPipeline *authority1);
75 _cogl_pipeline_fog_state_equal (CoglPipeline *authority0,
76 CoglPipeline *authority1);
79 _cogl_pipeline_point_size_equal (CoglPipeline *authority0,
80 CoglPipeline *authority1);
83 _cogl_pipeline_logic_ops_state_equal (CoglPipeline *authority0,
84 CoglPipeline *authority1);
87 _cogl_pipeline_user_shader_equal (CoglPipeline *authority0,
88 CoglPipeline *authority1);
91 _cogl_pipeline_cull_face_state_equal (CoglPipeline *authority0,
92 CoglPipeline *authority1);
95 _cogl_pipeline_uniforms_state_equal (CoglPipeline *authority0,
96 CoglPipeline *authority1);
99 _cogl_pipeline_vertex_snippets_state_equal (CoglPipeline *authority0,
100 CoglPipeline *authority1);
103 _cogl_pipeline_fragment_snippets_state_equal (CoglPipeline *authority0,
104 CoglPipeline *authority1);
107 _cogl_pipeline_hash_color_state (CoglPipeline *authority,
108 CoglPipelineHashState *state);
111 _cogl_pipeline_hash_blend_enable_state (CoglPipeline *authority,
112 CoglPipelineHashState *state);
115 _cogl_pipeline_hash_layers_state (CoglPipeline *authority,
116 CoglPipelineHashState *state);
119 _cogl_pipeline_hash_lighting_state (CoglPipeline *authority,
120 CoglPipelineHashState *state);
123 _cogl_pipeline_hash_alpha_func_state (CoglPipeline *authority,
124 CoglPipelineHashState *state);
127 _cogl_pipeline_hash_alpha_func_reference_state (CoglPipeline *authority,
128 CoglPipelineHashState *state);
131 _cogl_pipeline_hash_blend_state (CoglPipeline *authority,
132 CoglPipelineHashState *state);
135 _cogl_pipeline_hash_user_shader_state (CoglPipeline *authority,
136 CoglPipelineHashState *state);
139 _cogl_pipeline_hash_depth_state (CoglPipeline *authority,
140 CoglPipelineHashState *state);
143 _cogl_pipeline_hash_fog_state (CoglPipeline *authority,
144 CoglPipelineHashState *state);
147 _cogl_pipeline_hash_point_size_state (CoglPipeline *authority,
148 CoglPipelineHashState *state);
151 _cogl_pipeline_hash_logic_ops_state (CoglPipeline *authority,
152 CoglPipelineHashState *state);
155 _cogl_pipeline_hash_cull_face_state (CoglPipeline *authority,
156 CoglPipelineHashState *state);
159 _cogl_pipeline_hash_uniforms_state (CoglPipeline *authority,
160 CoglPipelineHashState *state);
163 _cogl_pipeline_hash_vertex_snippets_state (CoglPipeline *authority,
164 CoglPipelineHashState *state);
167 _cogl_pipeline_hash_fragment_snippets_state (CoglPipeline *authority,
168 CoglPipelineHashState *state);
171 _cogl_pipeline_compare_uniform_differences (unsigned long *differences,
172 CoglPipeline *pipeline0,
173 CoglPipeline *pipeline1);
175 #endif /* __COGL_PIPELINE_STATE_PRIVATE_H */