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
16 #define SET_1(v1) value[0] = v1;
17 #define SET_2(v1, v2) value[0] = v1; value[1] = v2;
18 #define SET_3(v1, v2, v3) value[0] = v1; value[1] = v2; value[2] = v3;
19 #define SET_4(v1, v2, v3, v4) value[0] = v1; value[1] = v2; value[2] = v3; value[3] = v4;
20 #define SET_N(n, inc, stmt) \
23 for (i = 0; i < (int)n; i++) \
30 GLUE_STATE(GLuint, gl_draw_buffers_num, 1, 1,
31 _sym_glGetIntegerv(GL_MAX_DRAW_BUFFERS,
32 (GLint *)value); /* DEFAULT NOT EFFECT */,
33 _sym_glGetIntegerv(GL_MAX_DRAW_BUFFERS, (GLint *)value);)
35 GLUE_STATE(GLuint, gl_tex_units_num, 1, 1,
36 _sym_glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
37 (GLint *)value); /* DEFAULT NOT EFFECT */,
38 _sym_glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, (GLint *)value);)
40 GLUE_STATE(GLuint, gl_vertex_attribs_num, 1, 1,
41 _sym_glGetIntegerv(GL_MAX_VERTEX_ATTRIBS,
42 (GLint *)value); /* DEFAULT NOT EFFECT */,
43 _sym_glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, (GLint *)value);)
45 GLUE_STATE(GLuint, gl_transform_feedback_buffer_binding_num, 1, 1,
46 _sym_glGetIntegerv(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
47 (GLint *)value); /* DEFAULT NOT EFFECT */,
48 _sym_glGetIntegerv(GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS, (GLint *)value);)
50 GLUE_STATE(GLuint, gl_uniform_buffer_binding_num, 1, 1,
51 _sym_glGetIntegerv(GL_MAX_UNIFORM_BUFFER_BINDINGS,
52 (GLint *)value); /* DEFAULT NOT EFFECT */,
53 _sym_glGetIntegerv(GL_MAX_UNIFORM_BUFFER_BINDINGS, (GLint *)value);)
55 GLUE_STATE(GLuint, gl_shader_storage_buffer_binding_num, 1, 1,
56 _sym_glGetIntegerv(GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
57 (GLint *)value); /* DEFAULT NOT EFFECT */,
58 _sym_glGetIntegerv(GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS, (GLint *)value);)
60 GLUE_STATE(GLuint, gl_atomic_counter_buffer_binding_num, 1, 1,
61 _sym_glGetIntegerv(GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
62 (GLint *)value); /* DEFAULT NOT EFFECT */,
63 _sym_glGetIntegerv(GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS, (GLint *)value);)
65 GLUE_STATE(GLuint, gl_array_buffer_binding, 1, 1, SET_1(0),
66 _sym_glGetIntegerv(GL_ARRAY_BUFFER_BINDING, (GLint *)value);)
67 GLUE_STATE(GLuint, gl_copy_read_buffer_binding, 1, 1, SET_1(0),
68 _sym_glGetIntegerv(GL_COPY_READ_BUFFER_BINDING, (GLint *)value);)
69 GLUE_STATE(GLuint, gl_copy_write_buffer_binding, 1, 1, SET_1(0),
70 _sym_glGetIntegerv(GL_COPY_WRITE_BUFFER_BINDING, (GLint *)value);)
71 GLUE_STATE(GLuint, gl_element_array_buffer_binding, 1, 1, SET_1(0),
72 _sym_glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, (GLint *)value);)
73 GLUE_STATE(GLuint, gl_pixel_pack_buffer_binding, 1, 1, SET_1(0),
74 _sym_glGetIntegerv(GL_PIXEL_PACK_BUFFER_BINDING, (GLint *)value);)
75 GLUE_STATE(GLuint, gl_pixel_unpack_buffer_binding, 1, 1, SET_1(0),
76 _sym_glGetIntegerv(GL_PIXEL_UNPACK_BUFFER_BINDING, (GLint *)value);)
77 GLUE_STATE(GLuint, gl_transform_feedback_buffer_binding, 1, 1, SET_1(0),
78 _sym_glGetIntegerv(GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, (GLint *)value);)
79 GLUE_STATE(GLuint, gl_uniform_buffer_binding, 1, 1, SET_1(0),
80 _sym_glGetIntegerv(GL_UNIFORM_BUFFER_BINDING, (GLint *)value);)
81 GLUE_STATE(GLuint, gl_texture_buffer_binding, 1, 1, SET_1(0),
82 _sym_glGetIntegerv(GL_TEXTURE_BUFFER_BINDING, (GLint *)value);)
83 GLUE_STATE(GLuint, gl_shader_storage_buffer_binding, 1, 1, SET_1(0),
84 _sym_glGetIntegerv(GL_SHADER_STORAGE_BUFFER_BINDING, (GLint *)value);)
85 GLUE_STATE(GLuint, gl_atomic_counter_buffer_binding, 1, 1, SET_1(0),
86 _sym_glGetIntegerv(GL_ATOMIC_COUNTER_BUFFER_BINDING, (GLint *)value);)
87 GLUE_STATE(GLuint, gl_draw_indirect_buffer_binding, 1, 1, SET_1(0),
88 _sym_glGetIntegerv(GL_DRAW_INDIRECT_BUFFER_BINDING, (GLint *)value);)
89 GLUE_STATE(GLuint, gl_dispatch_indirect_buffer_binding, 1, 1, SET_1(0),
90 _sym_glGetIntegerv(GL_DISPATCH_INDIRECT_BUFFER_BINDING, (GLint *)value);)
92 _COREGL_START_API(COREGL_GLAPI_3)
93 GLUE_STATE(GLuint, gl_transform_feedback_buffer_binding_array,
94 INITIAL_CTX->gl_transform_feedback_buffer_binding_num[0],
95 MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
96 _state_get_transform_feedback_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
97 _state_get_transform_feedback_buffer_bindings(value);)
99 GLUE_STATE(GLintptr, gl_transform_feedback_buffer_binding_array_offset,
100 INITIAL_CTX->gl_transform_feedback_buffer_binding_num[0],
101 MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
102 _state_get_transform_feedback_buffer_bindings_offset(
103 value); /* DEFAULT NOT EFFECT */,
104 _state_get_transform_feedback_buffer_bindings_offset(value);)
106 GLUE_STATE(GLsizeiptr, gl_transform_feedback_buffer_binding_array_size,
107 INITIAL_CTX->gl_transform_feedback_buffer_binding_num[0],
108 MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
109 _state_get_transform_feedback_buffer_bindings_size(
110 value); /* DEFAULT NOT EFFECT */,
111 _state_get_transform_feedback_buffer_bindings_size(value);)
113 GLUE_STATE(GLuint, gl_uniform_buffer_binding_array,
114 INITIAL_CTX->gl_uniform_buffer_binding_num[0], MAX_UNIFORM_BUFFER_BINDINGS,
115 _state_get_uniform_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
116 _state_get_uniform_buffer_bindings(value);)
118 GLUE_STATE(GLintptr, gl_uniform_buffer_binding_array_offset,
119 INITIAL_CTX->gl_uniform_buffer_binding_num[0], MAX_UNIFORM_BUFFER_BINDINGS,
120 _state_get_uniform_buffer_bindings_offset(value); /* DEFAULT NOT EFFECT */,
121 _state_get_uniform_buffer_bindings_offset(value);)
123 GLUE_STATE(GLsizeiptr, gl_uniform_buffer_binding_array_size,
124 INITIAL_CTX->gl_uniform_buffer_binding_num[0], MAX_UNIFORM_BUFFER_BINDINGS,
125 _state_get_uniform_buffer_bindings_size(value); /* DEFAULT NOT EFFECT */,
126 _state_get_uniform_buffer_bindings_size(value);)
128 GLUE_STATE(GLuint, gl_shader_storage_buffer_binding_array,
129 INITIAL_CTX->gl_shader_storage_buffer_binding_num[0], MAX_SHADER_STORAGE_BUFFER_BINDINGS,
130 _state_get_shader_storage_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
131 _state_get_shader_storage_buffer_bindings(value);)
133 GLUE_STATE(GLintptr, gl_shader_storage_buffer_binding_array_offset,
134 INITIAL_CTX->gl_shader_storage_buffer_binding_num[0], MAX_SHADER_STORAGE_BUFFER_BINDINGS,
135 _state_get_shader_storage_buffer_bindings_offset(value); /* DEFAULT NOT EFFECT */,
136 _state_get_shader_storage_buffer_bindings_offset(value);)
138 GLUE_STATE(GLsizeiptr, gl_shader_storage_buffer_binding_array_size,
139 INITIAL_CTX->gl_shader_storage_buffer_binding_num[0], MAX_SHADER_STORAGE_BUFFER_BINDINGS,
140 _state_get_shader_storage_buffer_bindings_size(value); /* DEFAULT NOT EFFECT */,
141 _state_get_shader_storage_buffer_bindings_size(value);)
143 GLUE_STATE(GLuint, gl_atomic_counter_buffer_binding_array,
144 INITIAL_CTX->gl_atomic_counter_buffer_binding_num[0], MAX_ATOMIC_COUNTER_BUFFER_BINDING,
145 _state_get_atomic_counter_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
146 _state_get_atomic_counter_buffer_bindings(value);)
148 GLUE_STATE(GLintptr, gl_atomic_counter_buffer_binding_array_offset,
149 INITIAL_CTX->gl_atomic_counter_buffer_binding_num[0], MAX_ATOMIC_COUNTER_BUFFER_BINDING,
150 _state_get_atomic_counter_buffer_bindings_offset(value); /* DEFAULT NOT EFFECT */,
151 _state_get_atomic_counter_buffer_bindings_offset(value);)
153 GLUE_STATE(GLsizeiptr, gl_atomic_counter_buffer_binding_array_size,
154 INITIAL_CTX->gl_atomic_counter_buffer_binding_num[0], MAX_ATOMIC_COUNTER_BUFFER_BINDING,
155 _state_get_atomic_counter_buffer_bindings_size(value); /* DEFAULT NOT EFFECT */,
156 _state_get_atomic_counter_buffer_bindings_size(value);)
158 GLUE_STATE(GLuint, gl_uniform_buffer_range_binding_array,
159 INITIAL_CTX->gl_uniform_buffer_binding_num[0], MAX_UNIFORM_BUFFER_BINDINGS,
160 _state_get_uniform_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
161 _state_get_uniform_buffer_bindings(value);)
163 GLUE_STATE(GLintptr, gl_uniform_buffer_range_binding_array_offset,
164 INITIAL_CTX->gl_uniform_buffer_binding_num[0], MAX_UNIFORM_BUFFER_BINDINGS,
165 _state_get_uniform_buffer_bindings_offset(value); /* DEFAULT NOT EFFECT */,
166 _state_get_uniform_buffer_bindings_offset(value);)
168 GLUE_STATE(GLsizeiptr, gl_uniform_buffer_range_binding_array_size,
169 INITIAL_CTX->gl_uniform_buffer_binding_num[0], MAX_UNIFORM_BUFFER_BINDINGS,
170 _state_get_uniform_buffer_bindings_size(value); /* DEFAULT NOT EFFECT */,
171 _state_get_uniform_buffer_bindings_size(value);)
173 GLUE_STATE(GLuint, gl_transform_feedback_buffer_range_binding_array,
174 INITIAL_CTX->gl_transform_feedback_buffer_binding_num[0],
175 MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
176 _state_get_transform_feedback_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
177 _state_get_transform_feedback_buffer_bindings(value);)
179 GLUE_STATE(GLintptr, gl_transform_feedback_buffer_range_binding_array_offset,
180 INITIAL_CTX->gl_transform_feedback_buffer_binding_num[0],
181 MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
182 _state_get_transform_feedback_buffer_bindings_offset(
183 value); /* DEFAULT NOT EFFECT */,
184 _state_get_transform_feedback_buffer_bindings_offset(value);)
186 GLUE_STATE(GLsizeiptr, gl_transform_feedback_buffer_range_binding_array_size,
187 INITIAL_CTX->gl_transform_feedback_buffer_binding_num[0],
188 MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
189 _state_get_transform_feedback_buffer_bindings_size(
190 value); /* DEFAULT NOT EFFECT */,
191 _state_get_transform_feedback_buffer_bindings_size(value);)
193 GLUE_STATE(GLuint, gl_shader_storage_buffer_range_binding_array,
194 INITIAL_CTX->gl_shader_storage_buffer_binding_num[0],
195 MAX_SHADER_STORAGE_BUFFER_BINDINGS,
196 _state_get_shader_storage_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
197 _state_get_shader_storage_buffer_bindings(value);)
199 GLUE_STATE(GLintptr, gl_shader_storage_buffer_range_binding_array_offset,
200 INITIAL_CTX->gl_shader_storage_buffer_binding_num[0],
201 MAX_SHADER_STORAGE_BUFFER_BINDINGS,
202 _state_get_shader_storage_buffer_bindings_offset(
203 value); /* DEFAULT NOT EFFECT */,
204 _state_get_shader_storage_buffer_bindings_offset(value);)
206 GLUE_STATE(GLsizeiptr, gl_shader_storage_buffer_range_binding_array_size,
207 INITIAL_CTX->gl_shader_storage_buffer_binding_num[0],
208 MAX_SHADER_STORAGE_BUFFER_BINDINGS,
209 _state_get_shader_storage_buffer_bindings_size(
210 value); /* DEFAULT NOT EFFECT */,
211 _state_get_shader_storage_buffer_bindings_size(value);)
213 GLUE_STATE(GLuint, gl_atomic_counter_buffer_range_binding_array,
214 INITIAL_CTX->gl_atomic_counter_buffer_binding_num[0],
215 MAX_ATOMIC_COUNTER_BUFFER_BINDING,
216 _state_get_atomic_counter_buffer_bindings(value); /* DEFAULT NOT EFFECT */,
217 _state_get_atomic_counter_buffer_bindings(value);)
219 GLUE_STATE(GLintptr, gl_atomic_counter_buffer_range_binding_array_offset,
220 INITIAL_CTX->gl_atomic_counter_buffer_binding_num[0],
221 MAX_ATOMIC_COUNTER_BUFFER_BINDING,
222 _state_get_atomic_counter_buffer_bindings_offset(
223 value); /* DEFAULT NOT EFFECT */,
224 _state_get_atomic_counter_buffer_bindings_offset(value);)
226 GLUE_STATE(GLsizeiptr, gl_atomic_counter_buffer_range_binding_array_size,
227 INITIAL_CTX->gl_atomic_counter_buffer_binding_num[0],
228 MAX_ATOMIC_COUNTER_BUFFER_BINDING,
229 _state_get_atomic_counter_buffer_bindings_size(
230 value); /* DEFAULT NOT EFFECT */,
231 _state_get_atomic_counter_buffer_bindings_size(value);)
232 _COREGL_END_API(COREGL_GLAPI_3)
234 GLUE_STATE(GLuint, gl_framebuffer_binding, 1, 1, SET_1(0),
235 _sym_glGetIntegerv(GL_FRAMEBUFFER_BINDING, (GLint *)value);)
236 GLUE_STATE(GLuint, gl_framebuffer_binding_read, 1, 1, SET_1(0),
237 _sym_glGetIntegerv(GL_READ_FRAMEBUFFER_BINDING_ANGLE, (GLint *)value);)
238 GLUE_STATE(GLuint, gl_framebuffer_binding_draw, 1, 1, SET_1(0),
239 _sym_glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING_ANGLE, (GLint *)value);)
240 GLUE_STATE(GLuint, gl_renderbuffer_binding, 1, 1, SET_1(0),
241 _sym_glGetIntegerv(GL_RENDERBUFFER_BINDING, (GLint *)value);)
243 GLUE_STATE(GLboolean, gl_blend, 1, 1, SET_1(GL_FALSE),
244 _sym_glGetBooleanv(GL_BLEND, (GLboolean *)value);)
245 GLUE_STATE(GLboolean, gl_cull_face, 1, 1, SET_1(GL_FALSE),
246 _sym_glGetBooleanv(GL_CULL_FACE, (GLboolean *)value);)
247 GLUE_STATE(GLboolean, gl_depth_test, 1, 1, SET_1(GL_FALSE),
248 _sym_glGetBooleanv(GL_DEPTH_TEST, (GLboolean *)value);)
249 GLUE_STATE(GLboolean, gl_dither, 1, 1, SET_1(GL_TRUE),
250 _sym_glGetBooleanv(GL_DITHER, (GLboolean *)value);)
252 GLUE_STATE(GLboolean, gl_polygon_offset_fill, 1, 1, SET_1(GL_FALSE),
253 _sym_glGetBooleanv(GL_POLYGON_OFFSET_FILL, (GLboolean *)value);)
254 GLUE_STATE(GLboolean, gl_sample_alpha_to_coverage, 1, 1, SET_1(GL_FALSE),
255 _sym_glGetBooleanv(GL_SAMPLE_ALPHA_TO_COVERAGE, (GLboolean *)value);)
256 GLUE_STATE(GLboolean, gl_sample_coverage, 1, 1, SET_1(GL_FALSE),
257 _sym_glGetBooleanv(GL_SAMPLE_COVERAGE, (GLboolean *)value);)
258 GLUE_STATE(GLboolean, gl_scissor_test, 1, 1, SET_1(GL_FALSE),
259 _sym_glGetBooleanv(GL_SCISSOR_TEST, (GLboolean *)value);)
260 GLUE_STATE(GLboolean, gl_stencil_test, 1, 1, SET_1(GL_FALSE),
261 _sym_glGetBooleanv(GL_STENCIL_TEST, (GLboolean *)value);)
262 GLUE_STATE(GLboolean, gl_sample_shading_oes, 1, 1, SET_1(GL_FALSE),
263 _sym_glGetBooleanv(GL_SAMPLE_SHADING_OES, (GLboolean *)value);)
264 GLUE_STATE(GLboolean, gl_sample_mask, 1, 1, SET_1(GL_FALSE),
265 _sym_glGetBooleanv(GL_SAMPLE_MASK, (GLboolean *)value);)
267 GLUE_STATE(GLboolean, gl_primitive_restart_fixed_index, 1, 1, SET_1(GL_FALSE),
268 _sym_glGetBooleanv(GL_PRIMITIVE_RESTART_FIXED_INDEX, (GLboolean *)value);)
269 GLUE_STATE(GLboolean, gl_rasterizer_discard, 1, 1, SET_1(GL_FALSE),
270 _sym_glGetBooleanv(GL_RASTERIZER_DISCARD, (GLboolean *)value);)
271 GLUE_STATE(GLboolean, gl_blend_advanced_coherent_khr, 1, 1, SET_1(GL_TRUE),
272 _sym_glGetBooleanv(GL_BLEND_ADVANCED_COHERENT_KHR, (GLboolean *)value);)
274 GLUE_STATE(GLint, gl_viewport, 4, 4,
275 _sym_glGetIntegerv(GL_VIEWPORT, (GLint *)value); /* DEFAULT NOT EFFECT */,
276 _sym_glGetIntegerv(GL_VIEWPORT, (GLint *)value);)
278 GLUE_STATE(GLuint, gl_current_program, 1, 1, SET_1(0),
279 _sym_glGetIntegerv(GL_CURRENT_PROGRAM, (GLint *)value);)
280 GLUE_STATE(GLclampf, gl_color_clear_value, 4, 4, SET_4(0.0f, 0.0f, 0.0f, 0.0f),
281 _sym_glGetFloatv(GL_COLOR_CLEAR_VALUE, (GLfloat *)value);)
283 GLUE_STATE(GLboolean, gl_color_writemask, 4, 4, SET_4(GL_TRUE, GL_TRUE, GL_TRUE,
284 GL_TRUE), _sym_glGetBooleanv(GL_COLOR_WRITEMASK, (GLboolean *)value);)
285 GLUE_STATE(GLclampf, gl_depth_range, 2, 2, SET_2(0.0f, 1.0f),
286 _sym_glGetFloatv(GL_DEPTH_RANGE, (GLfloat *)value);)
287 GLUE_STATE(GLclampf, gl_depth_clear_value, 1, 1, SET_1(1.0f),
288 _sym_glGetFloatv(GL_DEPTH_CLEAR_VALUE, (GLfloat *)value);)
289 GLUE_STATE(GLenum, gl_depth_func, 1, 1, SET_1(GL_LESS),
290 _sym_glGetIntegerv(GL_DEPTH_FUNC, (GLint *)value);)
291 GLUE_STATE(GLboolean, gl_depth_writemask, 1, 1, SET_1(GL_TRUE),
292 _sym_glGetBooleanv(GL_DEPTH_WRITEMASK, (GLboolean *)value);)
293 GLUE_STATE(GLenum, gl_cull_face_mode, 1, 1, SET_1(GL_BACK),
294 _sym_glGetIntegerv(GL_CULL_FACE_MODE, (GLint *)value);)
296 GLUE_STATE(GLuint, gl_tex_2d_state, INITIAL_CTX->gl_tex_units_num[0],
298 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
299 _state_get_texture_states(GL_TEXTURE_BINDING_2D, (GLint *)value);)
300 GLUE_STATE(GLuint, gl_tex_3d_state, INITIAL_CTX->gl_tex_units_num[0],
302 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
303 _state_get_texture_states(GL_TEXTURE_BINDING_3D, (GLint *)value);)
304 GLUE_STATE(GLuint, gl_tex_2d_array_state, INITIAL_CTX->gl_tex_units_num[0],
306 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
307 _state_get_texture_states(GL_TEXTURE_BINDING_2D_ARRAY, (GLint *)value);)
308 GLUE_STATE(GLuint, gl_tex_cube_state, INITIAL_CTX->gl_tex_units_num[0],
310 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
311 _state_get_texture_states(GL_TEXTURE_BINDING_CUBE_MAP, (GLint *)value);)
312 GLUE_STATE(GLuint, gl_tex_external_oes_state, INITIAL_CTX->gl_tex_units_num[0],
314 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
315 _state_get_texture_states(GL_TEXTURE_EXTERNAL_OES, (GLint *)value);)
316 GLUE_STATE(GLuint, gl_tex_buffer_ext_state, INITIAL_CTX->gl_tex_units_num[0],
318 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
319 _state_get_texture_states(GL_TEXTURE_BUFFER_EXT, (GLint *)value);)
320 GLUE_STATE(GLuint, gl_tex_2d_multisample_state, INITIAL_CTX->gl_tex_units_num[0],
322 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
323 _state_get_texture_states(GL_TEXTURE_2D_MULTISAMPLE, (GLint *)value);)
324 GLUE_STATE(GLuint, gl_tex_cube_map_array_ext_state, INITIAL_CTX->gl_tex_units_num[0],
326 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
327 _state_get_texture_states(GL_TEXTURE_CUBE_MAP_ARRAY_EXT, (GLint *)value);)
328 GLUE_STATE(GLuint, gl_tex_2d_multisample_array_oes_state, INITIAL_CTX->gl_tex_units_num[0],
330 SET_N(INITIAL_CTX->gl_tex_units_num[0], 1, SET_1(0)),
331 _state_get_texture_states(GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES, (GLint *)value);)
333 GLUE_STATE(GLenum, gl_active_texture, 1, 1, SET_1(GL_TEXTURE0),
334 _sym_glGetIntegerv(GL_ACTIVE_TEXTURE, (GLint *)value))
335 GLUE_STATE(GLenum, gl_client_active_texture, 1, 1, SET_1(GL_TEXTURE0),
336 _sym_glGetIntegerv(GL_CLIENT_ACTIVE_TEXTURE, (GLint *)value))
337 GLUE_STATE(GLenum, gl_generate_mipmap_hint, 1, 1, SET_1(GL_DONT_CARE),
338 _sym_glGetIntegerv(GL_GENERATE_MIPMAP_HINT, (GLint *)value))
340 GLUE_STATE(GLclampf, gl_blend_color, 4, 4, SET_4(0.0f, 0.0f, 0.0f, 0.0f),
341 _sym_glGetFloatv(GL_BLEND_COLOR, (GLfloat *)value);)
342 GLUE_STATE(GLenum, gl_blend_src_rgb, 1, 1, SET_1(GL_ONE),
343 _sym_glGetIntegerv(GL_BLEND_SRC_RGB, (GLint *)value);)
344 GLUE_STATE(GLenum, gl_blend_src_alpha, 1, 1, SET_1(GL_ONE),
345 _sym_glGetIntegerv(GL_BLEND_SRC_ALPHA, (GLint *)value);)
346 GLUE_STATE(GLenum, gl_blend_dst_rgb, 1, 1, SET_1(GL_ZERO),
347 _sym_glGetIntegerv(GL_BLEND_DST_RGB, (GLint *)value);)
348 GLUE_STATE(GLenum, gl_blend_dst_alpha, 1, 1, SET_1(GL_ZERO),
349 _sym_glGetIntegerv(GL_BLEND_DST_ALPHA, (GLint *)value);)
350 GLUE_STATE(GLenum, gl_blend_equation_rgb, 1, 1, SET_1(GL_FUNC_ADD),
351 _sym_glGetIntegerv(GL_BLEND_EQUATION_RGB, (GLint *)value);)
352 GLUE_STATE(GLenum, gl_blend_equation_alpha, 1, 1, SET_1(GL_FUNC_ADD),
353 _sym_glGetIntegerv(GL_BLEND_EQUATION_ALPHA, (GLint *)value);)
356 GLUE_STATE(GLenum, gl_stencil_func, 1, 1, SET_1(GL_ALWAYS),
357 _sym_glGetIntegerv(GL_STENCIL_FUNC, (GLint *)value);)
358 GLUE_STATE(GLint, gl_stencil_ref, 1, 1, SET_1(0),
359 _sym_glGetIntegerv(GL_STENCIL_REF, (GLint *)value);)
360 GLUE_STATE(GLuintmask, gl_stencil_value_mask, 1, 1,
361 _sym_glGetIntegerv(GL_STENCIL_VALUE_MASK,
362 (GLint *)value); /* DEFAULT NOT EFFECT */,
363 _sym_glGetIntegerv(GL_STENCIL_VALUE_MASK, (GLint *)value);)
364 GLUE_STATE(GLenum, gl_stencil_fail, 1, 1, SET_1(GL_KEEP),
365 _sym_glGetIntegerv(GL_STENCIL_FAIL, (GLint *)value);)
366 GLUE_STATE(GLenum, gl_stencil_pass_depth_fail, 1, 1, SET_1(GL_KEEP),
367 _sym_glGetIntegerv(GL_STENCIL_PASS_DEPTH_FAIL, (GLint *)value);)
368 GLUE_STATE(GLenum, gl_stencil_pass_depth_pass, 1, 1, SET_1(GL_KEEP),
369 _sym_glGetIntegerv(GL_STENCIL_PASS_DEPTH_PASS, (GLint *)value);)
370 GLUE_STATE(GLuintmask, gl_stencil_writemask, 1, 1,
371 _sym_glGetIntegerv(GL_STENCIL_WRITEMASK,
372 (GLint *)value); /* DEFAULT NOT EFFECT */,
373 _sym_glGetIntegerv(GL_STENCIL_WRITEMASK, (GLint *)value);)
375 GLUE_STATE(GLenum, gl_stencil_back_func, 1, 1, SET_1(GL_ALWAYS),
376 _sym_glGetIntegerv(GL_STENCIL_BACK_FUNC, (GLint *)value);)
377 GLUE_STATE(GLint, gl_stencil_back_ref, 1, 1, SET_1(0),
378 _sym_glGetIntegerv(GL_STENCIL_BACK_REF, (GLint *)value);)
379 GLUE_STATE(GLuintmask, gl_stencil_back_value_mask, 1, 1,
380 _sym_glGetIntegerv(GL_STENCIL_BACK_VALUE_MASK,
381 (GLint *)value); /* DEFAULT NOT EFFECT */,
382 _sym_glGetIntegerv(GL_STENCIL_BACK_VALUE_MASK, (GLint *)value);)
383 GLUE_STATE(GLenum, gl_stencil_back_fail, 1, 1, SET_1(GL_KEEP),
384 _sym_glGetIntegerv(GL_STENCIL_BACK_FAIL, (GLint *)value);)
385 GLUE_STATE(GLenum, gl_stencil_back_pass_depth_fail, 1, 1, SET_1(GL_KEEP),
386 _sym_glGetIntegerv(GL_STENCIL_BACK_PASS_DEPTH_FAIL, (GLint *)value);)
387 GLUE_STATE(GLenum, gl_stencil_back_pass_depth_pass, 1, 1, SET_1(GL_KEEP),
388 _sym_glGetIntegerv(GL_STENCIL_BACK_PASS_DEPTH_PASS, (GLint *)value);)
389 GLUE_STATE(GLuintmask, gl_stencil_back_writemask, 1, 1,
390 _sym_glGetIntegerv(GL_STENCIL_BACK_WRITEMASK,
391 (GLint *)value); /* DEFAULT NOT EFFECT */,
392 _sym_glGetIntegerv(GL_STENCIL_BACK_WRITEMASK, (GLint *)value);)
394 GLUE_STATE(GLint, gl_stencil_clear_value, 1, 1, SET_1(0),
395 _sym_glGetIntegerv(GL_STENCIL_CLEAR_VALUE, (GLint *)value);)
398 GLUE_STATE(GLint, gl_pack_row_length, 1, 1, SET_1(0),
399 _sym_glGetIntegerv(GL_PACK_ROW_LENGTH, (GLint *)value);)
400 GLUE_STATE(GLint, gl_pack_skip_rows, 1, 1, SET_1(0),
401 _sym_glGetIntegerv(GL_PACK_SKIP_ROWS, (GLint *)value);)
402 GLUE_STATE(GLint, gl_pack_skip_pixels, 1, 1, SET_1(0),
403 _sym_glGetIntegerv(GL_PACK_SKIP_PIXELS, (GLint *)value);)
404 GLUE_STATE(GLint, gl_pack_alignment, 1, 1, SET_1(4),
405 _sym_glGetIntegerv(GL_PACK_ALIGNMENT, (GLint *)value);)
408 GLUE_STATE(GLint, gl_unpack_row_length, 1, 1, SET_1(0),
409 _sym_glGetIntegerv(GL_UNPACK_ROW_LENGTH, (GLint *)value);)
410 GLUE_STATE(GLint, gl_unpack_skip_rows, 1, 1, SET_1(0),
411 _sym_glGetIntegerv(GL_UNPACK_SKIP_ROWS, (GLint *)value);)
412 GLUE_STATE(GLint, gl_unpack_skip_pixels, 1, 1, SET_1(0),
413 _sym_glGetIntegerv(GL_UNPACK_SKIP_PIXELS, (GLint *)value);)
414 GLUE_STATE(GLint, gl_unpack_alignment, 1, 1, SET_1(4),
415 _sym_glGetIntegerv(GL_UNPACK_ALIGNMENT, (GLint *)value);)
416 GLUE_STATE(GLint, gl_unpack_image_height, 1, 1, SET_1(0),
417 _sym_glGetIntegerv(GL_UNPACK_IMAGE_HEIGHT, (GLint *)value);)
418 GLUE_STATE(GLint, gl_unpack_skip_images, 1, 1, SET_1(0),
419 _sym_glGetIntegerv(GL_UNPACK_SKIP_IMAGES, (GLint *)value);)
422 GLUE_STATE(GLenum, gl_front_face, 1, 1, SET_1(GL_CCW),
423 _sym_glGetIntegerv(GL_FRONT_FACE, (GLint *)value);)
424 GLUE_STATE(GLfloat, gl_line_width, 1, 1, SET_1(1.0f),
425 _sym_glGetFloatv(GL_LINE_WIDTH, (GLfloat *)value);)
426 GLUE_STATE(GLfloat, gl_polygon_offset_factor, 1, 1, SET_1(0.0f),
427 _sym_glGetFloatv(GL_POLYGON_OFFSET_FACTOR, (GLfloat *)value);)
428 GLUE_STATE(GLfloat, gl_polygon_offset_units, 1, 1, SET_1(0.0f),
429 _sym_glGetFloatv(GL_POLYGON_OFFSET_UNITS, (GLfloat *)value);)
430 GLUE_STATE(GLclampf, gl_sample_coverage_value, 1, 1, SET_1(1.0f),
431 _sym_glGetFloatv(GL_SAMPLE_COVERAGE_VALUE, (GLfloat *)value);)
432 GLUE_STATE(GLboolean, gl_sample_coverage_invert, 1, 1, SET_1(GL_FALSE),
433 _sym_glGetBooleanv(GL_SAMPLE_COVERAGE_INVERT, (GLboolean *)value);)
434 GLUE_STATE(GLenum, gl_fragment_shader_derivative_hint, 1, 1,
435 SET_1(GL_DONT_CARE), _sym_glGetIntegerv(GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
439 GLUE_STATE(GLint, gl_scissor_box, 4, 4,
440 _sym_glGetIntegerv(GL_SCISSOR_BOX, (GLint *)value); /* DEFAULT NOT EFFECT */,
441 _sym_glGetIntegerv(GL_SCISSOR_BOX, (GLint *)value);)
443 GLUE_STATE(GLuint, gl_vertex_array_buf_id,
444 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
445 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(0)),
446 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
447 GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, (GLint *)value);))
448 GLUE_STATE(GLint, gl_vertex_array_enabled,
449 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
450 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(GL_FALSE)),
451 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
452 GL_VERTEX_ATTRIB_ARRAY_ENABLED, (GLint *)value);))
453 GLUE_STATE(GLint, gl_vertex_array_size, INITIAL_CTX->gl_vertex_attribs_num[0],
455 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(4)),
456 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
457 GL_VERTEX_ATTRIB_ARRAY_SIZE, (GLint *)value);))
458 GLUE_STATE(GLsizei, gl_vertex_array_stride,
459 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
460 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(GL_FALSE)),
461 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
462 GL_VERTEX_ATTRIB_ARRAY_STRIDE, (GLint *)value);))
463 GLUE_STATE(GLenum, gl_vertex_array_type, INITIAL_CTX->gl_vertex_attribs_num[0],
465 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(GL_FLOAT)),
466 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
467 GL_VERTEX_ATTRIB_ARRAY_TYPE, (GLint *)value);))
468 GLUE_STATE(GLint, gl_vertex_array_normalized,
469 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
470 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(GL_FALSE)),
471 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
472 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, (GLint *)value);))
473 GLUE_STATE(GLint, gl_vertex_array_integer,
474 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
475 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(GL_FALSE)),
476 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
477 GL_VERTEX_ATTRIB_ARRAY_INTEGER, (GLint *)value);))
478 GLUE_STATE(GLuint, gl_vertex_array_divisor,
479 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
480 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(GL_FALSE)),
481 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, _sym_glGetVertexAttribiv(i,
482 GL_VERTEX_ATTRIB_ARRAY_DIVISOR, (GLint *)value);))
483 GLUE_STATE(GLvoidptr, gl_vertex_array_pointer,
484 INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
485 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1, SET_1(NULL)),
486 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 1,
487 _sym_glGetVertexAttribPointerv(i, GL_VERTEX_ATTRIB_ARRAY_POINTER,
488 (GLvoidptr *)value);))
489 GLUE_STATE(GLfloat, gl_vertex_attrib_value,
490 4 * INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
491 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 4, SET_4(0, 0, 0, 1)),
492 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 4, _sym_glGetVertexAttribfv(i,
493 GL_CURRENT_VERTEX_ATTRIB, (GLfloat *)value);))
495 _COREGL_START_API(COREGL_GLAPI_3)
496 GLUE_STATE(GLint, gl_vertex_attrib_value_integer,
497 4 * INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
498 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 4, SET_4(0, 0, 0,
499 GET_INT_FROM_FLOAT(1.0f))),
500 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 4, SET_4(0, 0, 0,
501 GET_INT_FROM_FLOAT(1.0f))))
502 GLUE_STATE(GLuint, gl_vertex_attrib_value_unsigned_integer,
503 4 * INITIAL_CTX->gl_vertex_attribs_num[0], MAX_VERTEX_ATTRIBS,
504 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 4, SET_4(0, 0, 0,
505 GET_UINT_FROM_FLOAT(1.0f))),
506 SET_N(INITIAL_CTX->gl_vertex_attribs_num[0], 4, SET_4(0, 0, 0,
507 GET_INT_FROM_FLOAT(1.0f))))
510 GLUE_STATE(GLenum, gl_read_buffer, 1, 1, SET_1(GL_BACK),
511 _sym_glGetIntegerv(GL_READ_BUFFER, (GLint *)value);)
512 GLUE_STATE(GLenum, gl_draw_buffers, INITIAL_CTX->gl_draw_buffers_num[0], 16,
513 SET_1(GL_BACK); value++;
514 SET_N(INITIAL_CTX->gl_draw_buffers_num[0] - 1, 1, SET_1(GL_NONE)),
515 _state_get_draw_buffers(value);)
516 GLUE_STATE(GLuint, gl_vertex_array_binding, 1, 1, SET_1(0),
517 _sym_glGetIntegerv(GL_VERTEX_ARRAY_BINDING, (GLint *)value);)
518 GLUE_STATE(GLuint, gl_program_pipeline_binding, 1, 1, SET_1(0),
519 _sym_glGetIntegerv(GL_PROGRAM_PIPELINE_BINDING, (GLint *)value);)
520 GLUE_STATE(GLuint, gl_transform_feedback_binding, 1, 1, SET_1(0),
521 _sym_glGetIntegerv(GL_TRANSFORM_FEEDBACK_BINDING, (GLint *)value);)
522 GLUE_STATE(GLboolean, gl_transform_feedback_active, 1, 1, SET_1(0),
523 _sym_glGetBooleanv(GL_TRANSFORM_FEEDBACK_ACTIVE, (GLboolean *)value);)
524 GLUE_STATE(GLboolean, gl_transform_feedback_paused, 1, 1, SET_1(0),
525 _sym_glGetBooleanv(GL_TRANSFORM_FEEDBACK_PAUSED, (GLboolean *)value);)
526 _COREGL_END_API(COREGL_GLAPI_3)
528 #ifdef _COREGL_START_API_DEFINED_INSIDE
529 #undef _COREGL_START_API
530 #undef _COREGL_START_API_DEFINED_INSIDE
533 #ifdef _COREGL_END_API_DEFINED_INSIDE
534 #undef _COREGL_END_API
535 #undef _COREGL_END_API_DEFINED_INSIDE