2 #error GLUE_STATE_NOT_DEFINED
5 #ifndef _COREGL_START_API
6 #define _COREGL_START_API(version)
7 #define _COREGL_START_API_DEFINED_INSIDE
10 #ifndef _COREGL_END_API
11 #define _COREGL_END_API(version)
12 #define _COREGL_END_API_DEFINED_INSIDE
15 /*this size can be get by glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS)
16 but in r4p0, it dose not support GL_MAX_COLOR_ATTACHMENTS */
17 #define GL_CLOR_WRITEMASK_NUM 4
19 #define SET_1(v1) value[0] = v1;
20 #define SET_2(v1, v2) value[0] = v1; value[1] = v2;
21 #define SET_3(v1, v2, v3) value[0] = v1; value[1] = v2; value[2] = v3;
22 #define SET_4(v1, v2, v3, v4) value[0] = v1; value[1] = v2; value[2] = v3; value[3] = v4;
23 #define SET_N(n, inc, stmt) \
26 for (i = 0; i < (int)n; i++) \
33 GLUE_STATE(GLuint, gl_draw_buffers_num, 1, 1,
34 _sym_glGetIntegerv(GL_MAX_DRAW_BUFFERS,
35 (GLint *)value); /* DEFAULT NOT EFFECT */,
36 _sym_glGetIntegerv(GL_MAX_DRAW_BUFFERS, (GLint *)value);)
38 GLUE_STATE(GLuint, gl_tex_units_num, 1, 1,
39 _sym_glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
40 (GLint *)value); /* DEFAULT NOT EFFECT */,
41 _sym_glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, (GLint *)value);)
43 GLUE_STATE(GLuint, gl_vertex_attribs_num, 1, 1,
44 _sym_glGetIntegerv(GL_MAX_VERTEX_ATTRIBS,
45 (GLint *)value); /* DEFAULT NOT EFFECT */,
46 _sym_glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, (GLint *)value);)
48 GLUE_STATE(GLuint, gl_transform_feedback_buffer_binding_num, 1, 1,
49 _sym_glGetIntegerv(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
50 (GLint *)value); /* DEFAULT NOT EFFECT */,
51 _sym_glGetIntegerv(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, (GLint *)value);)
53 GLUE_STATE(GLuint, gl_uniform_buffer_binding_num, 1, 1,
54 _sym_glGetIntegerv(GL_MAX_UNIFORM_BUFFER_BINDINGS,
55 (GLint *)value); /* DEFAULT NOT EFFECT */,
56 _sym_glGetIntegerv(GL_MAX_UNIFORM_BUFFER_BINDINGS, (GLint *)value);)
58 GLUE_STATE(GLuint, gl_shader_storage_buffer_binding_num, 1, 1,
59 _sym_glGetIntegerv(GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
60 (GLint *)value); /* DEFAULT NOT EFFECT */,
61 _sym_glGetIntegerv(GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, (GLint *)value);)
63 GLUE_STATE(GLuint, gl_atomic_counter_buffer_binding_num, 1, 1,
64 _sym_glGetIntegerv(GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
65 (GLint *)value); /* DEFAULT NOT EFFECT */,
66 _sym_glGetIntegerv(GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS, (GLint *)value);)
68 GLUE_STATE(GLuint, gl_array_buffer_binding, 1, 1, SET_1(0),
69 _sym_glGetIntegerv(GL_ARRAY_BUFFER_BINDING, (GLint *)value);)
70 GLUE_STATE(GLuint, gl_copy_read_buffer_binding, 1, 1, SET_1(0),
71 _sym_glGetIntegerv(GL_COPY_READ_BUFFER_BINDING, (GLint *)value);)
72 GLUE_STATE(GLuint, gl_copy_write_buffer_binding, 1, 1, SET_1(0),
73 _sym_glGetIntegerv(GL_COPY_WRITE_BUFFER_BINDING, (GLint *)value);)
74 GLUE_STATE(GLuint, gl_element_array_buffer_binding, 1, 1, SET_1(0),
75 _sym_glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, (GLint *)value);)
76 GLUE_STATE(GLuint, gl_pixel_pack_buffer_binding, 1, 1, SET_1(0),
77 _sym_glGetIntegerv(GL_PIXEL_PACK_BUFFER_BINDING, (GLint *)value);)
78 GLUE_STATE(GLuint, gl_pixel_unpack_buffer_binding, 1, 1, SET_1(0),
79 _sym_glGetIntegerv(GL_PIXEL_UNPACK_BUFFER_BINDING, (GLint *)value);)
80 GLUE_STATE(GLuint, gl_transform_feedback_buffer_binding, 1, 1, SET_1(0),
81 _sym_glGetIntegerv(GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, (GLint *)value);)
82 GLUE_STATE(GLuint, gl_uniform_buffer_binding, 1, 1, SET_1(0),
83 _sym_glGetIntegerv(GL_UNIFORM_BUFFER_BINDING, (GLint *)value);)
84 GLUE_STATE(GLuint, gl_texture_buffer_binding, 1, 1, SET_1(0),
85 _sym_glGetIntegerv(GL_TEXTURE_BUFFER_BINDING, (GLint *)value);)
86 GLUE_STATE(GLuint, gl_shader_storage_buffer_binding, 1, 1, SET_1(0),
87 _sym_glGetIntegerv(GL_SHADER_STORAGE_BUFFER_BINDING, (GLint *)value);)
88 GLUE_STATE(GLuint, gl_atomic_counter_buffer_binding, 1, 1, SET_1(0),
89 _sym_glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING, (GLint *)value);)
90 GLUE_STATE(GLuint, gl_draw_indirect_buffer_binding, 1, 1, SET_1(0),
91 _sym_glGetIntegerv(GL_DRAW_INDIRECT_BUFFER_BINDING, (GLint *)value);)
92 GLUE_STATE(GLuint, gl_dispatch_indirect_buffer_binding, 1, 1, SET_1(0),
93 _sym_glGetIntegerv(GL_DISPATCH_INDIRECT_BUFFER_BINDING, (GLint *)value);)
95 _COREGL_START_API(COREGL_GLAPI_3)
96 GLUE_STATE(GLuint, gl_transform_feedback_buffer_binding_array,
97 INITIAL_CTX->gl_transform_feedback_buffer_binding_num[0],
98 MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
99 _state_get_transform_feedback_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
100 _state_get_transform_feedback_buffer_bindings(value);)
102 GLUE_STATE(GLintptr, gl_transform_feedback_buffer_binding_array_offset,
103 INITIAL_CTX->gl_transform_feedback_buffer_binding_num[0],
104 MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
105 _state_get_transform_feedback_buffer_bindings_offset(
106 value); /* DEFAULT NOT EFFECT */,
107 _state_get_transform_feedback_buffer_bindings_offset(value);)
109 GLUE_STATE(GLsizeiptr, gl_transform_feedback_buffer_binding_array_size,
110 INITIAL_CTX->gl_transform_feedback_buffer_binding_num[0],
111 MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
112 _state_get_transform_feedback_buffer_bindings_size(
113 value); /* DEFAULT NOT EFFECT */,
114 _state_get_transform_feedback_buffer_bindings_size(value);)
116 GLUE_STATE(GLuint, gl_uniform_buffer_binding_array,
117 INITIAL_CTX->gl_uniform_buffer_binding_num[0], MAX_UNIFORM_BUFFER_BINDINGS,
118 _state_get_uniform_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
119 _state_get_uniform_buffer_bindings(value);)
121 GLUE_STATE(GLintptr, gl_uniform_buffer_binding_array_offset,
122 INITIAL_CTX->gl_uniform_buffer_binding_num[0], MAX_UNIFORM_BUFFER_BINDINGS,
123 _state_get_uniform_buffer_bindings_offset(value); /* DEFAULT NOT EFFECT */,
124 _state_get_uniform_buffer_bindings_offset(value);)
126 GLUE_STATE(GLsizeiptr, gl_uniform_buffer_binding_array_size,
127 INITIAL_CTX->gl_uniform_buffer_binding_num[0], MAX_UNIFORM_BUFFER_BINDINGS,
128 _state_get_uniform_buffer_bindings_size(value); /* DEFAULT NOT EFFECT */,
129 _state_get_uniform_buffer_bindings_size(value);)
131 GLUE_STATE(GLuint, gl_shader_storage_buffer_binding_array,
132 INITIAL_CTX->gl_shader_storage_buffer_binding_num[0],
133 MAX_SHADER_STORAGE_BUFFER_BINDINGS,
134 _state_get_shader_storage_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
135 _state_get_shader_storage_buffer_bindings(value);)
137 GLUE_STATE(GLintptr, gl_shader_storage_buffer_binding_array_offset,
138 INITIAL_CTX->gl_shader_storage_buffer_binding_num[0],
139 MAX_SHADER_STORAGE_BUFFER_BINDINGS,
140 _state_get_shader_storage_buffer_bindings_offset(
141 value); /* DEFAULT NOT EFFECT */,
142 _state_get_shader_storage_buffer_bindings_offset(value);)
144 GLUE_STATE(GLsizeiptr, gl_shader_storage_buffer_binding_array_size,
145 INITIAL_CTX->gl_shader_storage_buffer_binding_num[0],
146 MAX_SHADER_STORAGE_BUFFER_BINDINGS,
147 _state_get_shader_storage_buffer_bindings_size(value); /* DEFAULT NOT EFFECT */,
148 _state_get_shader_storage_buffer_bindings_size(value);)
150 GLUE_STATE(GLuint, gl_atomic_counter_buffer_binding_array,
151 INITIAL_CTX->gl_atomic_counter_buffer_binding_num[0],
152 MAX_ATOMIC_COUNTER_BUFFER_BINDING,
153 _state_get_atomic_counter_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
154 _state_get_atomic_counter_buffer_bindings(value);)
156 GLUE_STATE(GLintptr, gl_atomic_counter_buffer_binding_array_offset,
157 INITIAL_CTX->gl_atomic_counter_buffer_binding_num[0],
158 MAX_ATOMIC_COUNTER_BUFFER_BINDING,
159 _state_get_atomic_counter_buffer_bindings_offset(
160 value); /* DEFAULT NOT EFFECT */,
161 _state_get_atomic_counter_buffer_bindings_offset(value);)
163 GLUE_STATE(GLsizeiptr, gl_atomic_counter_buffer_binding_array_size,
164 INITIAL_CTX->gl_atomic_counter_buffer_binding_num[0],
165 MAX_ATOMIC_COUNTER_BUFFER_BINDING,
166 _state_get_atomic_counter_buffer_bindings_size(value); /* DEFAULT NOT EFFECT */,
167 _state_get_atomic_counter_buffer_bindings_size(value);)
169 GLUE_STATE(GLuint, gl_uniform_buffer_range_binding_array,
170 INITIAL_CTX->gl_uniform_buffer_binding_num[0], MAX_UNIFORM_BUFFER_BINDINGS,
171 _state_get_uniform_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
172 _state_get_uniform_buffer_bindings(value);)
174 GLUE_STATE(GLintptr, gl_uniform_buffer_range_binding_array_offset,
175 INITIAL_CTX->gl_uniform_buffer_binding_num[0], MAX_UNIFORM_BUFFER_BINDINGS,
176 _state_get_uniform_buffer_bindings_offset(value); /* DEFAULT NOT EFFECT */,
177 _state_get_uniform_buffer_bindings_offset(value);)
179 GLUE_STATE(GLsizeiptr, gl_uniform_buffer_range_binding_array_size,
180 INITIAL_CTX->gl_uniform_buffer_binding_num[0], MAX_UNIFORM_BUFFER_BINDINGS,
181 _state_get_uniform_buffer_bindings_size(value); /* DEFAULT NOT EFFECT */,
182 _state_get_uniform_buffer_bindings_size(value);)
184 GLUE_STATE(GLuint, gl_transform_feedback_buffer_range_binding_array,
185 INITIAL_CTX->gl_transform_feedback_buffer_binding_num[0],
186 MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
187 _state_get_transform_feedback_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
188 _state_get_transform_feedback_buffer_bindings(value);)
190 GLUE_STATE(GLintptr, gl_transform_feedback_buffer_range_binding_array_offset,
191 INITIAL_CTX->gl_transform_feedback_buffer_binding_num[0],
192 MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
193 _state_get_transform_feedback_buffer_bindings_offset(
194 value); /* DEFAULT NOT EFFECT */,
195 _state_get_transform_feedback_buffer_bindings_offset(value);)
197 GLUE_STATE(GLsizeiptr, gl_transform_feedback_buffer_range_binding_array_size,
198 INITIAL_CTX->gl_transform_feedback_buffer_binding_num[0],
199 MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
200 _state_get_transform_feedback_buffer_bindings_size(
201 value); /* DEFAULT NOT EFFECT */,
202 _state_get_transform_feedback_buffer_bindings_size(value);)
204 GLUE_STATE(GLuint, gl_shader_storage_buffer_range_binding_array,
205 INITIAL_CTX->gl_shader_storage_buffer_binding_num[0],
206 MAX_SHADER_STORAGE_BUFFER_BINDINGS,
207 _state_get_shader_storage_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
208 _state_get_shader_storage_buffer_bindings(value);)
210 GLUE_STATE(GLintptr, gl_shader_storage_buffer_range_binding_array_offset,
211 INITIAL_CTX->gl_shader_storage_buffer_binding_num[0],
212 MAX_SHADER_STORAGE_BUFFER_BINDINGS,
213 _state_get_shader_storage_buffer_bindings_offset(
214 value); /* DEFAULT NOT EFFECT */,
215 _state_get_shader_storage_buffer_bindings_offset(value);)
217 GLUE_STATE(GLsizeiptr, gl_shader_storage_buffer_range_binding_array_size,
218 INITIAL_CTX->gl_shader_storage_buffer_binding_num[0],
219 MAX_SHADER_STORAGE_BUFFER_BINDINGS,
220 _state_get_shader_storage_buffer_bindings_size(
221 value); /* DEFAULT NOT EFFECT */,
222 _state_get_shader_storage_buffer_bindings_size(value);)
224 GLUE_STATE(GLuint, gl_atomic_counter_buffer_range_binding_array,
225 INITIAL_CTX->gl_atomic_counter_buffer_binding_num[0],
226 MAX_ATOMIC_COUNTER_BUFFER_BINDING,
227 _state_get_atomic_counter_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
228 _state_get_atomic_counter_buffer_bindings(value);)
230 GLUE_STATE(GLintptr, gl_atomic_counter_buffer_range_binding_array_offset,
231 INITIAL_CTX->gl_atomic_counter_buffer_binding_num[0],
232 MAX_ATOMIC_COUNTER_BUFFER_BINDING,
233 _state_get_atomic_counter_buffer_bindings_offset(
234 value); /* DEFAULT NOT EFFECT */,
235 _state_get_atomic_counter_buffer_bindings_offset(value);)
237 GLUE_STATE(GLsizeiptr, gl_atomic_counter_buffer_range_binding_array_size,
238 INITIAL_CTX->gl_atomic_counter_buffer_binding_num[0],
239 MAX_ATOMIC_COUNTER_BUFFER_BINDING,
240 _state_get_atomic_counter_buffer_bindings_size(
241 value); /* DEFAULT NOT EFFECT */,
242 _state_get_atomic_counter_buffer_bindings_size(value);)
243 _COREGL_END_API(COREGL_GLAPI_3)
245 GLUE_STATE(GLuint, gl_framebuffer_binding, 1, 1, SET_1(0),
246 _sym_glGetIntegerv(GL_FRAMEBUFFER_BINDING, (GLint *)value);)
247 GLUE_STATE(GLuint, gl_framebuffer_binding_read, 1, 1, SET_1(0),
248 _sym_glGetIntegerv(GL_READ_FRAMEBUFFER_BINDING, (GLint *)value);)
249 GLUE_STATE(GLuint, gl_framebuffer_binding_draw, 1, 1, SET_1(0),
250 _sym_glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, (GLint *)value);)
251 GLUE_STATE(GLuint, gl_renderbuffer_binding, 1, 1, SET_1(0),
252 _sym_glGetIntegerv(GL_RENDERBUFFER_BINDING, (GLint *)value);)
254 GLUE_STATE(GLboolean, gl_blend, 1, 1, SET_1(GL_FALSE),
255 _sym_glGetBooleanv(GL_BLEND, (GLboolean *)value);)
256 GLUE_STATE(GLboolean, gl_cull_face, 1, 1, SET_1(GL_FALSE),
257 _sym_glGetBooleanv(GL_CULL_FACE, (GLboolean *)value);)
258 GLUE_STATE(GLboolean, gl_depth_test, 1, 1, SET_1(GL_FALSE),
259 _sym_glGetBooleanv(GL_DEPTH_TEST, (GLboolean *)value);)
260 GLUE_STATE(GLboolean, gl_dither, 1, 1, SET_1(GL_TRUE),
261 _sym_glGetBooleanv(GL_DITHER, (GLboolean *)value);)
263 GLUE_STATE(GLboolean, gl_polygon_offset_fill, 1, 1, SET_1(GL_FALSE),
264 _sym_glGetBooleanv(GL_POLYGON_OFFSET_FILL, (GLboolean *)value);)
265 GLUE_STATE(GLboolean, gl_sample_alpha_to_coverage, 1, 1, SET_1(GL_FALSE),
266 _sym_glGetBooleanv(GL_SAMPLE_ALPHA_TO_COVERAGE, (GLboolean *)value);)
267 GLUE_STATE(GLboolean, gl_sample_coverage, 1, 1, SET_1(GL_FALSE),
268 _sym_glGetBooleanv(GL_SAMPLE_COVERAGE, (GLboolean *)value);)
269 GLUE_STATE(GLboolean, gl_scissor_test, 1, 1, SET_1(GL_FALSE),
270 _sym_glGetBooleanv(GL_SCISSOR_TEST, (GLboolean *)value);)
271 GLUE_STATE(GLboolean, gl_stencil_test, 1, 1, SET_1(GL_FALSE),
272 _sym_glGetBooleanv(GL_STENCIL_TEST, (GLboolean *)value);)
273 GLUE_STATE(GLboolean, gl_sample_shading_oes, 1, 1, SET_1(GL_FALSE),
274 _sym_glGetBooleanv(GL_SAMPLE_SHADING_OES, (GLboolean *)value);)
275 GLUE_STATE(GLboolean, gl_sample_mask, 1, 1, SET_1(GL_FALSE),
276 _sym_glGetBooleanv(GL_SAMPLE_MASK, (GLboolean *)value);)
278 GLUE_STATE(GLboolean, gl_primitive_restart_fixed_index, 1, 1, SET_1(GL_FALSE),
279 _sym_glGetBooleanv(GL_PRIMITIVE_RESTART_FIXED_INDEX, (GLboolean *)value);)
280 GLUE_STATE(GLboolean, gl_rasterizer_discard, 1, 1, SET_1(GL_FALSE),
281 _sym_glGetBooleanv(GL_RASTERIZER_DISCARD, (GLboolean *)value);)
282 GLUE_STATE(GLboolean, gl_blend_advanced_coherent_khr, 1, 1, SET_1(GL_TRUE),
283 _sym_glGetBooleanv(GL_BLEND_ADVANCED_COHERENT_KHR, (GLboolean *)value);)
285 GLUE_STATE(GLint, gl_viewport, 4, 4,
286 _sym_glGetIntegerv(GL_VIEWPORT, (GLint *)value); /* DEFAULT NOT EFFECT */,
287 _sym_glGetIntegerv(GL_VIEWPORT, (GLint *)value);)
289 GLUE_STATE(GLuint, gl_current_program, 1, 1, SET_1(0),
290 _sym_glGetIntegerv(GL_CURRENT_PROGRAM, (GLint *)value);)
291 GLUE_STATE(GLclampf, gl_color_clear_value, 4, 4, SET_4(0.0f, 0.0f, 0.0f, 0.0f),
292 _sym_glGetFloatv(GL_COLOR_CLEAR_VALUE, (GLfloat *)value);)
294 GLUE_STATE(GLboolean, gl_color_writemask,
295 4 * GL_CLOR_WRITEMASK_NUM,
296 4 * GL_CLOR_WRITEMASK_NUM,
297 SET_N(4 * GL_CLOR_WRITEMASK_NUM, 1, SET_1(GL_TRUE)),
298 _sym_glGetBooleanv(GL_COLOR_WRITEMASK, (GLboolean *)value);)
299 GLUE_STATE(GLclampf, gl_depth_range, 2, 2, SET_2(0.0f, 1.0f),
300 _sym_glGetFloatv(GL_DEPTH_RANGE, (GLfloat *)value);)
301 GLUE_STATE(GLclampf, gl_depth_clear_value, 1, 1, SET_1(1.0f),
302 _sym_glGetFloatv(GL_DEPTH_CLEAR_VALUE, (GLfloat *)value);)
303 GLUE_STATE(GLenum, gl_depth_func, 1, 1, SET_1(GL_LESS),
304 _sym_glGetIntegerv(GL_DEPTH_FUNC, (GLint *)value);)
305 GLUE_STATE(GLboolean, gl_depth_writemask, 1, 1, SET_1(GL_TRUE),
306 _sym_glGetBooleanv(GL_DEPTH_WRITEMASK, (GLboolean *)value);)
307 GLUE_STATE(GLenum, gl_cull_face_mode, 1, 1, SET_1(GL_BACK),
308 _sym_glGetIntegerv(GL_CULL_FACE_MODE, (GLint *)value);)
310 GLUE_STATE(GLuint, gl_tex_2d_state, INITIAL_CTX->gl_tex_units_num[0],
312 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
313 _state_get_texture_states(GL_TEXTURE_BINDING_2D, (GLint *)value);)
314 GLUE_STATE(GLuint, gl_tex_3d_state, INITIAL_CTX->gl_tex_units_num[0],
316 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
317 _state_get_texture_states(GL_TEXTURE_BINDING_3D, (GLint *)value);)
318 GLUE_STATE(GLuint, gl_tex_2d_array_state, INITIAL_CTX->gl_tex_units_num[0],
320 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
321 _state_get_texture_states(GL_TEXTURE_BINDING_2D_ARRAY, (GLint *)value);)
322 GLUE_STATE(GLuint, gl_tex_cube_state, INITIAL_CTX->gl_tex_units_num[0],
324 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
325 _state_get_texture_states(GL_TEXTURE_BINDING_CUBE_MAP, (GLint *)value);)
326 GLUE_STATE(GLuint, gl_tex_external_oes_state, INITIAL_CTX->gl_tex_units_num[0],
328 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
329 _state_get_texture_states(GL_TEXTURE_BINDING_EXTERNAL_OES, (GLint *)value);)
330 GLUE_STATE(GLuint, gl_tex_buffer_ext_state, INITIAL_CTX->gl_tex_units_num[0],
332 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
333 _state_get_texture_states(GL_TEXTURE_BUFFER_EXT, (GLint *)value);)
334 GLUE_STATE(GLuint, gl_tex_2d_multisample_state,
335 INITIAL_CTX->gl_tex_units_num[0],
337 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
338 _state_get_texture_states(GL_TEXTURE_BINDING_2D_MULTISAMPLE, (GLint *)value);)
339 GLUE_STATE(GLuint, gl_tex_cube_map_array_ext_state,
340 INITIAL_CTX->gl_tex_units_num[0],
342 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
343 _state_get_texture_states(GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT, (GLint *)value);)
344 GLUE_STATE(GLuint, gl_tex_2d_multisample_array_oes_state,
345 INITIAL_CTX->gl_tex_units_num[0],
347 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
348 _state_get_texture_states(GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES, (GLint *)value);)
350 GLUE_STATE(GLenum, gl_active_texture, 1, 1, SET_1(GL_TEXTURE0),
351 _sym_glGetIntegerv(GL_ACTIVE_TEXTURE, (GLint *)value))
352 GLUE_STATE(GLenum, gl_client_active_texture, 1, 1, SET_1(GL_TEXTURE0),
353 _sym_glGetIntegerv(GL_CLIENT_ACTIVE_TEXTURE, (GLint *)value))
354 GLUE_STATE(GLenum, gl_generate_mipmap_hint, 1, 1, SET_1(GL_DONT_CARE),
355 _sym_glGetIntegerv(GL_GENERATE_MIPMAP_HINT, (GLint *)value))
357 GLUE_STATE(GLclampf, gl_blend_color, 4, 4, SET_4(0.0f, 0.0f, 0.0f, 0.0f),
358 _sym_glGetFloatv(GL_BLEND_COLOR, (GLfloat *)value);)
359 GLUE_STATE(GLenum, gl_blend_src_rgb, 1, 1, SET_1(GL_ONE),
360 _sym_glGetIntegerv(GL_BLEND_SRC_RGB, (GLint *)value);)
361 GLUE_STATE(GLenum, gl_blend_src_alpha, 1, 1, SET_1(GL_ONE),
362 _sym_glGetIntegerv(GL_BLEND_SRC_ALPHA, (GLint *)value);)
363 GLUE_STATE(GLenum, gl_blend_dst_rgb, 1, 1, SET_1(GL_ZERO),
364 _sym_glGetIntegerv(GL_BLEND_DST_RGB, (GLint *)value);)
365 GLUE_STATE(GLenum, gl_blend_dst_alpha, 1, 1, SET_1(GL_ZERO),
366 _sym_glGetIntegerv(GL_BLEND_DST_ALPHA, (GLint *)value);)
367 GLUE_STATE(GLenum, gl_blend_equation_rgb, 1, 1, SET_1(GL_FUNC_ADD),
368 _sym_glGetIntegerv(GL_BLEND_EQUATION_RGB, (GLint *)value);)
369 GLUE_STATE(GLenum, gl_blend_equation_alpha, 1, 1, SET_1(GL_FUNC_ADD),
370 _sym_glGetIntegerv(GL_BLEND_EQUATION_ALPHA, (GLint *)value);)
373 GLUE_STATE(GLenum, gl_stencil_func, 1, 1, SET_1(GL_ALWAYS),
374 _sym_glGetIntegerv(GL_STENCIL_FUNC, (GLint *)value);)
375 GLUE_STATE(GLint, gl_stencil_ref, 1, 1, SET_1(0),
376 _sym_glGetIntegerv(GL_STENCIL_REF, (GLint *)value);)
377 GLUE_STATE(GLuintmask, gl_stencil_value_mask, 1, 1,
378 _sym_glGetIntegerv(GL_STENCIL_VALUE_MASK,
379 (GLint *)value); /* DEFAULT NOT EFFECT */,
380 _sym_glGetIntegerv(GL_STENCIL_VALUE_MASK, (GLint *)value);)
381 GLUE_STATE(GLenum, gl_stencil_fail, 1, 1, SET_1(GL_KEEP),
382 _sym_glGetIntegerv(GL_STENCIL_FAIL, (GLint *)value);)
383 GLUE_STATE(GLenum, gl_stencil_pass_depth_fail, 1, 1, SET_1(GL_KEEP),
384 _sym_glGetIntegerv(GL_STENCIL_PASS_DEPTH_FAIL, (GLint *)value);)
385 GLUE_STATE(GLenum, gl_stencil_pass_depth_pass, 1, 1, SET_1(GL_KEEP),
386 _sym_glGetIntegerv(GL_STENCIL_PASS_DEPTH_PASS, (GLint *)value);)
387 GLUE_STATE(GLuintmask, gl_stencil_writemask, 1, 1,
388 _sym_glGetIntegerv(GL_STENCIL_WRITEMASK,
389 (GLint *)value); /* DEFAULT NOT EFFECT */,
390 _sym_glGetIntegerv(GL_STENCIL_WRITEMASK, (GLint *)value);)
392 GLUE_STATE(GLenum, gl_stencil_back_func, 1, 1, SET_1(GL_ALWAYS),
393 _sym_glGetIntegerv(GL_STENCIL_BACK_FUNC, (GLint *)value);)
394 GLUE_STATE(GLint, gl_stencil_back_ref, 1, 1, SET_1(0),
395 _sym_glGetIntegerv(GL_STENCIL_BACK_REF, (GLint *)value);)
396 GLUE_STATE(GLuintmask, gl_stencil_back_value_mask, 1, 1,
397 _sym_glGetIntegerv(GL_STENCIL_BACK_VALUE_MASK,
398 (GLint *)value); /* DEFAULT NOT EFFECT */,
399 _sym_glGetIntegerv(GL_STENCIL_BACK_VALUE_MASK, (GLint *)value);)
400 GLUE_STATE(GLenum, gl_stencil_back_fail, 1, 1, SET_1(GL_KEEP),
401 _sym_glGetIntegerv(GL_STENCIL_BACK_FAIL, (GLint *)value);)
402 GLUE_STATE(GLenum, gl_stencil_back_pass_depth_fail, 1, 1, SET_1(GL_KEEP),
403 _sym_glGetIntegerv(GL_STENCIL_BACK_PASS_DEPTH_FAIL, (GLint *)value);)
404 GLUE_STATE(GLenum, gl_stencil_back_pass_depth_pass, 1, 1, SET_1(GL_KEEP),
405 _sym_glGetIntegerv(GL_STENCIL_BACK_PASS_DEPTH_PASS, (GLint *)value);)
406 GLUE_STATE(GLuintmask, gl_stencil_back_writemask, 1, 1,
407 _sym_glGetIntegerv(GL_STENCIL_BACK_WRITEMASK,
408 (GLint *)value); /* DEFAULT NOT EFFECT */,
409 _sym_glGetIntegerv(GL_STENCIL_BACK_WRITEMASK, (GLint *)value);)
411 GLUE_STATE(GLint, gl_stencil_clear_value, 1, 1, SET_1(0),
412 _sym_glGetIntegerv(GL_STENCIL_CLEAR_VALUE, (GLint *)value);)
415 GLUE_STATE(GLint, gl_pack_row_length, 1, 1, SET_1(0),
416 _sym_glGetIntegerv(GL_PACK_ROW_LENGTH, (GLint *)value);)
417 GLUE_STATE(GLint, gl_pack_skip_rows, 1, 1, SET_1(0),
418 _sym_glGetIntegerv(GL_PACK_SKIP_ROWS, (GLint *)value);)
419 GLUE_STATE(GLint, gl_pack_skip_pixels, 1, 1, SET_1(0),
420 _sym_glGetIntegerv(GL_PACK_SKIP_PIXELS, (GLint *)value);)
421 GLUE_STATE(GLint, gl_pack_alignment, 1, 1, SET_1(4),
422 _sym_glGetIntegerv(GL_PACK_ALIGNMENT, (GLint *)value);)
425 GLUE_STATE(GLint, gl_unpack_row_length, 1, 1, SET_1(0),
426 _sym_glGetIntegerv(GL_UNPACK_ROW_LENGTH, (GLint *)value);)
427 GLUE_STATE(GLint, gl_unpack_skip_rows, 1, 1, SET_1(0),
428 _sym_glGetIntegerv(GL_UNPACK_SKIP_ROWS, (GLint *)value);)
429 GLUE_STATE(GLint, gl_unpack_skip_pixels, 1, 1, SET_1(0),
430 _sym_glGetIntegerv(GL_UNPACK_SKIP_PIXELS, (GLint *)value);)
431 GLUE_STATE(GLint, gl_unpack_alignment, 1, 1, SET_1(4),
432 _sym_glGetIntegerv(GL_UNPACK_ALIGNMENT, (GLint *)value);)
433 GLUE_STATE(GLint, gl_unpack_image_height, 1, 1, SET_1(0),
434 _sym_glGetIntegerv(GL_UNPACK_IMAGE_HEIGHT, (GLint *)value);)
435 GLUE_STATE(GLint, gl_unpack_skip_images, 1, 1, SET_1(0),
436 _sym_glGetIntegerv(GL_UNPACK_SKIP_IMAGES, (GLint *)value);)
439 GLUE_STATE(GLenum, gl_front_face, 1, 1, SET_1(GL_CCW),
440 _sym_glGetIntegerv(GL_FRONT_FACE, (GLint *)value);)
441 GLUE_STATE(GLfloat, gl_line_width, 1, 1, SET_1(1.0f),
442 _sym_glGetFloatv(GL_LINE_WIDTH, (GLfloat *)value);)
443 GLUE_STATE(GLfloat, gl_polygon_offset_factor, 1, 1, SET_1(0.0f),
444 _sym_glGetFloatv(GL_POLYGON_OFFSET_FACTOR, (GLfloat *)value);)
445 GLUE_STATE(GLfloat, gl_polygon_offset_units, 1, 1, SET_1(0.0f),
446 _sym_glGetFloatv(GL_POLYGON_OFFSET_UNITS, (GLfloat *)value);)
447 GLUE_STATE(GLclampf, gl_sample_coverage_value, 1, 1, SET_1(1.0f),
448 _sym_glGetFloatv(GL_SAMPLE_COVERAGE_VALUE, (GLfloat *)value);)
449 GLUE_STATE(GLboolean, gl_sample_coverage_invert, 1, 1, SET_1(GL_FALSE),
450 _sym_glGetBooleanv(GL_SAMPLE_COVERAGE_INVERT, (GLboolean *)value);)
451 GLUE_STATE(GLenum, gl_fragment_shader_derivative_hint, 1, 1,
452 SET_1(GL_DONT_CARE), _sym_glGetIntegerv(GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
456 GLUE_STATE(GLint, gl_scissor_box, 4, 4,
457 _sym_glGetIntegerv(GL_SCISSOR_BOX, (GLint *)value); /* DEFAULT NOT EFFECT */,
458 _sym_glGetIntegerv(GL_SCISSOR_BOX, (GLint *)value);)
460 GLUE_STATE(GLuint, gl_vertex_array_buf_id,
461 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
462 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(0)),
463 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
464 GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, (GLint *)value);))
465 GLUE_STATE(GLint, gl_vertex_array_enabled,
466 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
467 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(GL_FALSE)),
468 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
469 GL_VERTEX_ATTRIB_ARRAY_ENABLED, (GLint *)value);))
470 GLUE_STATE(GLint, gl_vertex_array_size, INITIAL_CTX->gl_vertex_attribs_num[0],
472 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(4)),
473 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
474 GL_VERTEX_ATTRIB_ARRAY_SIZE, (GLint *)value);))
475 GLUE_STATE(GLsizei, gl_vertex_array_stride,
476 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
477 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(GL_FALSE)),
478 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
479 GL_VERTEX_ATTRIB_ARRAY_STRIDE, (GLint *)value);))
480 GLUE_STATE(GLenum, gl_vertex_array_type, INITIAL_CTX->gl_vertex_attribs_num[0],
482 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(GL_FLOAT)),
483 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
484 GL_VERTEX_ATTRIB_ARRAY_TYPE, (GLint *)value);))
485 GLUE_STATE(GLint, gl_vertex_array_normalized,
486 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
487 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(GL_FALSE)),
488 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
489 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, (GLint *)value);))
490 GLUE_STATE(GLint, gl_vertex_array_integer,
491 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
492 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(GL_FALSE)),
493 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
494 GL_VERTEX_ATTRIB_ARRAY_INTEGER, (GLint *)value);))
495 GLUE_STATE(GLuint, gl_vertex_array_divisor,
496 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
497 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(GL_FALSE)),
498 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
499 GL_VERTEX_ATTRIB_ARRAY_DIVISOR, (GLint *)value);))
500 GLUE_STATE(GLvoidptr, gl_vertex_array_pointer,
501 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
502 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(NULL)),
503 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1,
504 _sym_glGetVertexAttribPointerv(i, GL_VERTEX_ATTRIB_ARRAY_POINTER,
505 (GLvoidptr *)value);))
506 GLUE_STATE(GLfloat, gl_vertex_attrib_value,
507 4 * INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
508 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 4, SET_4(0, 0, 0, 1)),
509 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 4, _sym_glGetVertexAttribfv(i,
510 GL_CURRENT_VERTEX_ATTRIB, (GLfloat *)value);))
512 _COREGL_START_API(COREGL_GLAPI_3)
513 GLUE_STATE(GLint, gl_vertex_attrib_value_integer,
514 4 * INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
515 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 4, SET_4(0, 0, 0,
516 GET_INT_FROM_FLOAT(1.0f))),
517 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 4, SET_4(0, 0, 0,
518 GET_INT_FROM_FLOAT(1.0f))))
519 GLUE_STATE(GLuint, gl_vertex_attrib_value_unsigned_integer,
520 4 * INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
521 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 4, SET_4(0, 0, 0,
522 GET_UINT_FROM_FLOAT(1.0f))),
523 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 4, SET_4(0, 0, 0,
524 GET_INT_FROM_FLOAT(1.0f))))
527 GLUE_STATE(GLenum, gl_read_buffer, 1, 1, SET_1(GL_BACK),
528 _sym_glGetIntegerv(GL_READ_BUFFER, (GLint *)value);)
529 GLUE_STATE(GLenum, gl_draw_buffers, INITIAL_CTX->gl_draw_buffers_num[0], 16,
530 SET_1(GL_BACK); value++;
531 SET_N(INITIAL_CTX->gl_draw_buffers_num[0] - 1, 1, SET_1(GL_NONE)),
532 _state_get_draw_buffers(value);)
533 GLUE_STATE(GLuint, gl_vertex_array_binding, 1, 1, SET_1(0),
534 _sym_glGetIntegerv(GL_VERTEX_ARRAY_BINDING, (GLint *)value);)
535 GLUE_STATE(GLuint, gl_program_pipeline_binding, 1, 1, SET_1(0),
536 _sym_glGetIntegerv(GL_PROGRAM_PIPELINE_BINDING, (GLint *)value);)
537 GLUE_STATE(GLuint, gl_transform_feedback_binding, 1, 1, SET_1(0),
538 _sym_glGetIntegerv(GL_TRANSFORM_FEEDBACK_BINDING, (GLint *)value);)
539 GLUE_STATE(GLboolean, gl_transform_feedback_active, 1, 1, SET_1(0),
540 _sym_glGetBooleanv(GL_TRANSFORM_FEEDBACK_ACTIVE, (GLboolean *)value);)
541 GLUE_STATE(GLboolean, gl_transform_feedback_paused, 1, 1, SET_1(0),
542 _sym_glGetBooleanv(GL_TRANSFORM_FEEDBACK_PAUSED, (GLboolean *)value);)
543 _COREGL_END_API(COREGL_GLAPI_3)
545 #ifdef _COREGL_START_API_DEFINED_INSIDE
546 #undef _COREGL_START_API
547 #undef _COREGL_START_API_DEFINED_INSIDE
550 #ifdef _COREGL_END_API_DEFINED_INSIDE
551 #undef _COREGL_END_API
552 #undef _COREGL_END_API_DEFINED_INSIDE