Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qopenglextrafunctions.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QOPENGLEXTRAFUNCTIONS_H
5#define QOPENGLEXTRAFUNCTIONS_H
6
7#include <QtGui/qtguiglobal.h>
8
9#ifndef QT_NO_OPENGL
10
11#include <QtGui/qopenglfunctions.h>
12
13// MemoryBarrier is a macro on some architectures on Windows
14#ifdef Q_OS_WIN
15#pragma push_macro("MemoryBarrier")
16#undef MemoryBarrier
17#endif
18
19// GLES build without having included gl32.h -> GLDEBUGPROC is still need for the protos, define it here
20#if QT_CONFIG(opengles2) && !QT_CONFIG(opengles32)
22#endif
23
25
27
28#undef glReadBuffer
29#undef glDrawRangeElements
30#undef glTexImage3D
31#undef glTexSubImage3D
32#undef glCopyTexSubImage3D
33#undef glCompressedTexImage3D
34#undef glCompressedTexSubImage3D
35#undef glGenQueries
36#undef glDeleteQueries
37#undef glIsQuery
38#undef glBeginQuery
39#undef glEndQuery
40#undef glGetQueryiv
41#undef glGetQueryObjectuiv
42#undef glUnmapBuffer
43#undef glGetBufferPointerv
44#undef glDrawBuffers
45#undef glUniformMatrix2x3fv
46#undef glUniformMatrix3x2fv
47#undef glUniformMatrix2x4fv
48#undef glUniformMatrix4x2fv
49#undef glUniformMatrix3x4fv
50#undef glUniformMatrix4x3fv
51#undef glBlitFramebuffer
52#undef glRenderbufferStorageMultisample
53#undef glFramebufferTextureLayer
54#undef glMapBufferRange
55#undef glFlushMappedBufferRange
56#undef glBindVertexArray
57#undef glDeleteVertexArrays
58#undef glGenVertexArrays
59#undef glIsVertexArray
60#undef glGetIntegeri_v
61#undef glBeginTransformFeedback
62#undef glEndTransformFeedback
63#undef glBindBufferRange
64#undef glBindBufferBase
65#undef glTransformFeedbackVaryings
66#undef glGetTransformFeedbackVarying
67#undef glVertexAttribIPointer
68#undef glGetVertexAttribIiv
69#undef glGetVertexAttribIuiv
70#undef glVertexAttribI4i
71#undef glVertexAttribI4ui
72#undef glVertexAttribI4iv
73#undef glVertexAttribI4uiv
74#undef glGetUniformuiv
75#undef glGetFragDataLocation
76#undef glUniform1ui
77#undef glUniform2ui
78#undef glUniform3ui
79#undef glUniform4ui
80#undef glUniform1uiv
81#undef glUniform2uiv
82#undef glUniform3uiv
83#undef glUniform4uiv
84#undef glClearBufferiv
85#undef glClearBufferuiv
86#undef glClearBufferfv
87#undef glClearBufferfi
88#undef glGetStringi
89#undef glCopyBufferSubData
90#undef glGetUniformIndices
91#undef glGetActiveUniformsiv
92#undef glGetUniformBlockIndex
93#undef glGetActiveUniformBlockiv
94#undef glGetActiveUniformBlockName
95#undef glUniformBlockBinding
96#undef glDrawArraysInstanced
97#undef glDrawElementsInstanced
98#undef glFenceSync
99#undef glIsSync
100#undef glDeleteSync
101#undef glClientWaitSync
102#undef glWaitSync
103#undef glGetInteger64v
104#undef glGetSynciv
105#undef glGetInteger64i_v
106#undef glGetBufferParameteri64v
107#undef glGenSamplers
108#undef glDeleteSamplers
109#undef glIsSampler
110#undef glBindSampler
111#undef glSamplerParameteri
112#undef glSamplerParameteriv
113#undef glSamplerParameterf
114#undef glSamplerParameterfv
115#undef glGetSamplerParameteriv
116#undef glGetSamplerParameterfv
117#undef glVertexAttribDivisor
118#undef glBindTransformFeedback
119#undef glDeleteTransformFeedbacks
120#undef glGenTransformFeedbacks
121#undef glIsTransformFeedback
122#undef glPauseTransformFeedback
123#undef glResumeTransformFeedback
124#undef glGetProgramBinary
125#undef glProgramBinary
126#undef glProgramParameteri
127#undef glInvalidateFramebuffer
128#undef glInvalidateSubFramebuffer
129#undef glTexStorage2D
130#undef glTexStorage3D
131#undef glGetInternalformativ
132
133#undef glDispatchCompute
134#undef glDispatchComputeIndirect
135#undef glDrawArraysIndirect
136#undef glDrawElementsIndirect
137#undef glFramebufferParameteri
138#undef glGetFramebufferParameteriv
139#undef glGetProgramInterfaceiv
140#undef glGetProgramResourceIndex
141#undef glGetProgramResourceName
142#undef glGetProgramResourceiv
143#undef glGetProgramResourceLocation
144#undef glUseProgramStages
145#undef glActiveShaderProgram
146#undef glCreateShaderProgramv
147#undef glBindProgramPipeline
148#undef glDeleteProgramPipelines
149#undef glGenProgramPipelines
150#undef glIsProgramPipeline
151#undef glGetProgramPipelineiv
152#undef glProgramUniform1i
153#undef glProgramUniform2i
154#undef glProgramUniform3i
155#undef glProgramUniform4i
156#undef glProgramUniform1ui
157#undef glProgramUniform2ui
158#undef glProgramUniform3ui
159#undef glProgramUniform4ui
160#undef glProgramUniform1f
161#undef glProgramUniform2f
162#undef glProgramUniform3f
163#undef glProgramUniform4f
164#undef glProgramUniform1iv
165#undef glProgramUniform2iv
166#undef glProgramUniform3iv
167#undef glProgramUniform4iv
168#undef glProgramUniform1uiv
169#undef glProgramUniform2uiv
170#undef glProgramUniform3uiv
171#undef glProgramUniform4uiv
172#undef glProgramUniform1fv
173#undef glProgramUniform2fv
174#undef glProgramUniform3fv
175#undef glProgramUniform4fv
176#undef glProgramUniformMatrix2fv
177#undef glProgramUniformMatrix3fv
178#undef glProgramUniformMatrix4fv
179#undef glProgramUniformMatrix2x3fv
180#undef glProgramUniformMatrix3x2fv
181#undef glProgramUniformMatrix2x4fv
182#undef glProgramUniformMatrix4x2fv
183#undef glProgramUniformMatrix3x4fv
184#undef glProgramUniformMatrix4x3fv
185#undef glValidateProgramPipeline
186#undef glGetProgramPipelineInfoLog
187#undef glBindImageTexture
188#undef glGetBooleani_v
189#undef glMemoryBarrier
190#undef glMemoryBarrierByRegion
191#undef glTexStorage2DMultisample
192#undef glGetMultisamplefv
193#undef glSampleMaski
194#undef glGetTexLevelParameteriv
195#undef glGetTexLevelParameterfv
196#undef glBindVertexBuffer
197#undef glVertexAttribFormat
198#undef glVertexAttribIFormat
199#undef glVertexAttribBinding
200#undef glVertexBindingDivisor
201
202#undef glBlendBarrier
203#undef glCopyImageSubData
204#undef glDebugMessageControl
205#undef glDebugMessageInsert
206#undef glDebugMessageCallback
207#undef glGetDebugMessageLog
208#undef glPushDebugGroup
209#undef glPopDebugGroup
210#undef glObjectLabel
211#undef glGetObjectLabel
212#undef glGetObjectPtrLabel
213#undef glGetPointerv
214#undef glEnablei
215#undef glDisablei
216#undef glBlendEquationi
217#undef glBlendEquationSeparatei
218#undef glBlendFunci
219#undef glBlendFuncSeparatei
220#undef glColorMaski
221#undef glIsEnabledi
222#undef glDrawElementsBaseVertex
223#undef glDrawRangeElementsBaseVertex
224#undef glDrawElementsInstancedBaseVertex
225#undef glFrameBufferTexture
226#undef glPrimitiveBoundingBox
227#undef glGetGraphicsResetStatus
228#undef glReadnPixels
229#undef glGetnUniformfv
230#undef glGetnUniformiv
231#undef glGetnUniformuiv
232#undef glMinSampleShading
233#undef glPatchParameteri
234#undef glTexParameterIiv
235#undef glTexParameterIuiv
236#undef glGetTexParameterIiv
237#undef glGetTexParameterIuiv
238#undef glSamplerParameterIiv
239#undef glSamplerParameterIuiv
240#undef glGetSamplerParameterIiv
241#undef glGetSamplerParameterIuiv
242#undef glTexBuffer
243#undef glTexBufferRange
244#undef glTexStorage3DMultisample
245
246class Q_GUI_EXPORT QOpenGLExtraFunctions : public QOpenGLFunctions
247{
248 Q_DECLARE_PRIVATE(QOpenGLExtraFunctions)
249
250public:
254
255 // GLES3
256 void glReadBuffer(GLenum mode);
257 void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
263 void glGenQueries(GLsizei n, GLuint *ids);
264 void glDeleteQueries(GLsizei n, const GLuint *ids);
265 GLboolean glIsQuery(GLuint id);
266 void glBeginQuery(GLenum target, GLuint id);
267 void glEndQuery(GLenum target);
268 void glGetQueryiv(GLenum target, GLenum pname, GLint *params);
269 void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);
270 GLboolean glUnmapBuffer(GLenum target);
271 void glGetBufferPointerv(GLenum target, GLenum pname, void **params);
272 void glDrawBuffers(GLsizei n, const GLenum *bufs);
273 void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
274 void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
275 void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
276 void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
277 void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
278 void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
280 void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
281 void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
282 void *glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
283 void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
284 void glBindVertexArray(GLuint array);
285 void glDeleteVertexArrays(GLsizei n, const GLuint *arrays);
286 void glGenVertexArrays(GLsizei n, GLuint *arrays);
287 GLboolean glIsVertexArray(GLuint array);
288 void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);
289 void glBeginTransformFeedback(GLenum primitiveMode);
290 void glEndTransformFeedback(void);
291 void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
292 void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
293 void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
294 void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
295 void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
296 void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
297 void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
298 void glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);
299 void glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
300 void glVertexAttribI4iv(GLuint index, const GLint *v);
301 void glVertexAttribI4uiv(GLuint index, const GLuint *v);
302 void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
303 GLint glGetFragDataLocation(GLuint program, const GLchar *name);
304 void glUniform1ui(GLint location, GLuint v0);
305 void glUniform2ui(GLint location, GLuint v0, GLuint v1);
306 void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
307 void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
308 void glUniform1uiv(GLint location, GLsizei count, const GLuint *value);
309 void glUniform2uiv(GLint location, GLsizei count, const GLuint *value);
310 void glUniform3uiv(GLint location, GLsizei count, const GLuint *value);
311 void glUniform4uiv(GLint location, GLsizei count, const GLuint *value);
312 void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value);
313 void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value);
314 void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value);
315 void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
316 const GLubyte *glGetStringi(GLenum name, GLuint index);
317 void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
318 void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
319 void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
320 GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
321 void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
323 void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
324 void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
325 void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
326 GLsync glFenceSync(GLenum condition, GLbitfield flags);
327 GLboolean glIsSync(GLsync sync);
328 void glDeleteSync(GLsync sync);
329 GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
330 void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
331 void glGetInteger64v(GLenum pname, GLint64 *data);
332 void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
333 void glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);
334 void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);
335 void glGenSamplers(GLsizei count, GLuint *samplers);
336 void glDeleteSamplers(GLsizei count, const GLuint *samplers);
337 GLboolean glIsSampler(GLuint sampler);
338 void glBindSampler(GLuint unit, GLuint sampler);
339 void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);
340 void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param);
341 void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
342 void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param);
343 void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);
344 void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);
345 void glVertexAttribDivisor(GLuint index, GLuint divisor);
346 void glBindTransformFeedback(GLenum target, GLuint id);
347 void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids);
348 void glGenTransformFeedbacks(GLsizei n, GLuint *ids);
349 GLboolean glIsTransformFeedback(GLuint id);
350 void glPauseTransformFeedback(void);
351 void glResumeTransformFeedback(void);
352 void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
353 void glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
354 void glProgramParameteri(GLuint program, GLenum pname, GLint value);
355 void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments);
356 void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
359 void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
360
361 // GLES 3.1
362 void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
363 void glDispatchComputeIndirect(GLintptr indirect);
364 void glDrawArraysIndirect(GLenum mode, const void *indirect);
365 void glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect);
366 void glFramebufferParameteri(GLenum target, GLenum pname, GLint param);
367 void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);
368 void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params);
369 GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name);
372 GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name);
373 void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);
374 void glActiveShaderProgram(GLuint pipeline, GLuint program);
375 GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const*strings);
376 void glBindProgramPipeline(GLuint pipeline);
377 void glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines);
378 void glGenProgramPipelines(GLsizei n, GLuint *pipelines);
379 GLboolean glIsProgramPipeline(GLuint pipeline);
380 void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);
381 void glProgramUniform1i(GLuint program, GLint location, GLint v0);
382 void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);
383 void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
384 void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
385 void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);
386 void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);
387 void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
388 void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
389 void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);
390 void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);
391 void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
392 void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
393 void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value);
394 void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value);
395 void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value);
396 void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value);
397 void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
398 void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
399 void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
400 void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value);
401 void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
402 void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
403 void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
404 void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value);
405 void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
406 void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
407 void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
408 void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
409 void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
410 void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
411 void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
412 void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
413 void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
414 void glValidateProgramPipeline(GLuint pipeline);
415 void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
416 void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
417 void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);
418 void glMemoryBarrier(GLbitfield barriers);
419 void glMemoryBarrierByRegion(GLbitfield barriers);
421 void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
422 void glSampleMaski(GLuint maskNumber, GLbitfield mask);
423 void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);
424 void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);
425 void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
427 void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
428 void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);
429 void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);
430
431 // GLES 3.2
432 void glBlendBarrier(void);
434 void glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
435 void glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
436 void glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam);
438 void glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message);
439 void glPopDebugGroup(void);
440 void glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
441 void glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
442 void glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label);
443 void glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
444 void glGetPointerv(GLenum pname, void **params);
445 void glEnablei(GLenum target, GLuint index);
446 void glDisablei(GLenum target, GLuint index);
447 void glBlendEquationi(GLuint buf, GLenum mode);
448 void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
449 void glBlendFunci(GLuint buf, GLenum src, GLenum dst);
450 void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
451 void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
452 GLboolean glIsEnabledi(GLenum target, GLuint index);
453 void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
454 void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex);
455 void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex);
456 void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);
457 void glPrimitiveBoundingBox(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
458 GLenum glGetGraphicsResetStatus(void);
459 void glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
460 void glGetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
461 void glGetnUniformiv(GLuint program, GLint location, GLsizei bufSize, GLint *params);
462 void glGetnUniformuiv(GLuint program, GLint location, GLsizei bufSize, GLuint *params);
463 void glMinSampleShading(GLfloat value);
464 void glPatchParameteri(GLenum pname, GLint value);
465 void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params);
466 void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params);
467 void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);
468 void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);
469 void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param);
470 void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param);
471 void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);
472 void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);
473 void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);
476
477private:
478 static bool isInitialized(const QOpenGLExtraFunctionsPrivate *d) { return d != nullptr; }
479};
480
481
482#define QT_OPENGL_DECLARE_FUNCTIONS(ret, name, args) \
483 ret (QOPENGLF_APIENTRYP name)args;
484#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args) +1
485
486#define QT_OPENGL_DECLARE(FUNCTIONS) \
487public: \
488 struct Functions { \
489 FUNCTIONS(QT_OPENGL_DECLARE_FUNCTIONS) \
490 }; \
491 union { \
492 QFunctionPointer functions[FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS)]; \
493 Functions f; \
494 }; \
495private: \
496 void init(QOpenGLContext *context);
497
499{
500public:
502
503 // GLES3
504#define QT_OPENGL_EXTRA_FUNCTIONS(F) \
505 F(void, ReadBuffer, (GLenum mode)) \
506 F(void, DrawRangeElements, (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices)) \
507 F(void, TexImage3D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)) \
508 F(void, TexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)) \
509 F(void, CopyTexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)) \
510 F(void, CompressedTexImage3D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)) \
511 F(void, CompressedTexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)) \
512 F(void, GenQueries, (GLsizei n, GLuint *ids)) \
513 F(void, DeleteQueries, (GLsizei n, const GLuint *ids)) \
514 F(GLboolean, IsQuery, (GLuint id)) \
515 F(void, BeginQuery, (GLenum target, GLuint id)) \
516 F(void, EndQuery, (GLenum target)) \
517 F(void, GetQueryiv, (GLenum target, GLenum pname, GLint *params)) \
518 F(void, GetQueryObjectuiv, (GLuint id, GLenum pname, GLuint *params)) \
519 F(GLboolean, UnmapBuffer, (GLenum target)) \
520 F(void, GetBufferPointerv, (GLenum target, GLenum pname, void **params)) \
521 F(void, DrawBuffers, (GLsizei n, const GLenum *bufs)) \
522 F(void, UniformMatrix2x3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
523 F(void, UniformMatrix3x2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
524 F(void, UniformMatrix2x4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
525 F(void, UniformMatrix4x2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
526 F(void, UniformMatrix3x4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
527 F(void, UniformMatrix4x3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
528 F(void, BlitFramebuffer, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)) \
529 F(void, RenderbufferStorageMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)) \
530 F(void, FramebufferTextureLayer, (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)) \
531 F(void *,MapBufferRange, (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)) \
532 F(void, FlushMappedBufferRange, (GLenum target, GLintptr offset, GLsizeiptr length)) \
533 F(void, BindVertexArray, (GLuint array)) \
534 F(void, DeleteVertexArrays, (GLsizei n, const GLuint *arrays)) \
535 F(void, GenVertexArrays, (GLsizei n, GLuint *arrays)) \
536 F(GLboolean, IsVertexArray, (GLuint array)) \
537 F(void, GetIntegeri_v, (GLenum target, GLuint index, GLint *data)) \
538 F(void, BeginTransformFeedback, (GLenum primitiveMode)) \
539 F(void, EndTransformFeedback, (void)) \
540 F(void, BindBufferRange, (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)) \
541 F(void, BindBufferBase, (GLenum target, GLuint index, GLuint buffer)) \
542 F(void, TransformFeedbackVaryings, (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode)) \
543 F(void, GetTransformFeedbackVarying, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)) \
544 F(void, VertexAttribIPointer, (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer)) \
545 F(void, GetVertexAttribIiv, (GLuint index, GLenum pname, GLint *params)) \
546 F(void, GetVertexAttribIuiv, (GLuint index, GLenum pname, GLuint *params)) \
547 F(void, VertexAttribI4i, (GLuint index, GLint x, GLint y, GLint z, GLint w)) \
548 F(void, VertexAttribI4ui, (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) \
549 F(void, VertexAttribI4iv, (GLuint index, const GLint *v)) \
550 F(void, VertexAttribI4uiv, (GLuint index, const GLuint *v)) \
551 F(void, GetUniformuiv, (GLuint program, GLint location, GLuint *params)) \
552 F(GLint, GetFragDataLocation, (GLuint program, const GLchar *name)) \
553 F(void, Uniform1ui, (GLint location, GLuint v0)) \
554 F(void, Uniform2ui, (GLint location, GLuint v0, GLuint v1)) \
555 F(void, Uniform3ui, (GLint location, GLuint v0, GLuint v1, GLuint v2)) \
556 F(void, Uniform4ui, (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)) \
557 F(void, Uniform1uiv, (GLint location, GLsizei count, const GLuint *value)) \
558 F(void, Uniform2uiv, (GLint location, GLsizei count, const GLuint *value)) \
559 F(void, Uniform3uiv, (GLint location, GLsizei count, const GLuint *value)) \
560 F(void, Uniform4uiv, (GLint location, GLsizei count, const GLuint *value)) \
561 F(void, ClearBufferiv, (GLenum buffer, GLint drawbuffer, const GLint *value)) \
562 F(void, ClearBufferuiv, (GLenum buffer, GLint drawbuffer, const GLuint *value)) \
563 F(void, ClearBufferfv, (GLenum buffer, GLint drawbuffer, const GLfloat *value)) \
564 F(void, ClearBufferfi, (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)) \
565 F(const GLubyte *, GetStringi, (GLenum name, GLuint index)) \
566 F(void, CopyBufferSubData, (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)) \
567 F(void, GetUniformIndices, (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices)) \
568 F(void, GetActiveUniformsiv, (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)) \
569 F(GLuint, GetUniformBlockIndex, (GLuint program, const GLchar *uniformBlockName)) \
570 F(void, GetActiveUniformBlockiv, (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)) \
571 F(void, GetActiveUniformBlockName, (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)) \
572 F(void, UniformBlockBinding, (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)) \
573 F(void, DrawArraysInstanced, (GLenum mode, GLint first, GLsizei count, GLsizei instancecount)) \
574 F(void, DrawElementsInstanced, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount)) \
575 F(GLsync, FenceSync, (GLenum condition, GLbitfield flags)) \
576 F(GLboolean, IsSync, (GLsync sync)) \
577 F(void, DeleteSync, (GLsync sync)) \
578 F(GLenum, ClientWaitSync, (GLsync sync, GLbitfield flags, GLuint64 timeout)) \
579 F(void, WaitSync, (GLsync sync, GLbitfield flags, GLuint64 timeout)) \
580 F(void, GetInteger64v, (GLenum pname, GLint64 *data)) \
581 F(void, GetSynciv, (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)) \
582 F(void, GetInteger64i_v, (GLenum target, GLuint index, GLint64 *data)) \
583 F(void, GetBufferParameteri64v, (GLenum target, GLenum pname, GLint64 *params)) \
584 F(void, GenSamplers, (GLsizei count, GLuint *samplers)) \
585 F(void, DeleteSamplers, (GLsizei count, const GLuint *samplers)) \
586 F(GLboolean, IsSampler, (GLuint sampler)) \
587 F(void, BindSampler, (GLuint unit, GLuint sampler)) \
588 F(void, SamplerParameteri, (GLuint sampler, GLenum pname, GLint param)) \
589 F(void, SamplerParameteriv, (GLuint sampler, GLenum pname, const GLint *param)) \
590 F(void, SamplerParameterf, (GLuint sampler, GLenum pname, GLfloat param)) \
591 F(void, SamplerParameterfv, (GLuint sampler, GLenum pname, const GLfloat *param)) \
592 F(void, GetSamplerParameteriv, (GLuint sampler, GLenum pname, GLint *params)) \
593 F(void, GetSamplerParameterfv, (GLuint sampler, GLenum pname, GLfloat *params)) \
594 F(void, VertexAttribDivisor, (GLuint index, GLuint divisor)) \
595 F(void, BindTransformFeedback, (GLenum target, GLuint id)) \
596 F(void, DeleteTransformFeedbacks, (GLsizei n, const GLuint *ids)) \
597 F(void, GenTransformFeedbacks, (GLsizei n, GLuint *ids)) \
598 F(GLboolean, IsTransformFeedback, (GLuint id)) \
599 F(void, PauseTransformFeedback, (void)) \
600 F(void, ResumeTransformFeedback, (void)) \
601 F(void, GetProgramBinary, (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary)) \
602 F(void, ProgramBinary, (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length)) \
603 F(void, ProgramParameteri, (GLuint program, GLenum pname, GLint value)) \
604 F(void, InvalidateFramebuffer, (GLenum target, GLsizei numAttachments, const GLenum *attachments)) \
605 F(void, InvalidateSubFramebuffer, (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height)) \
606 F(void, TexStorage2D, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)) \
607 F(void, TexStorage3D, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)) \
608 F(void, GetInternalformativ, (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params)) \
609 F(void, DispatchCompute, (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)) \
610 F(void, DispatchComputeIndirect, (GLintptr indirect)) \
611 F(void, DrawArraysIndirect, (GLenum mode, const void *indirect)) \
612 F(void, DrawElementsIndirect, (GLenum mode, GLenum type, const void *indirect)) \
613 F(void, FramebufferParameteri, (GLenum target, GLenum pname, GLint param)) \
614 F(void, GetFramebufferParameteriv, (GLenum target, GLenum pname, GLint *params)) \
615 F(void, GetProgramInterfaceiv, (GLuint program, GLenum programInterface, GLenum pname, GLint *params)) \
616 F(GLuint, GetProgramResourceIndex, (GLuint program, GLenum programInterface, const GLchar *name)) \
617 F(void, GetProgramResourceName, (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name)) \
618 F(void, GetProgramResourceiv, (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params)) \
619 F(GLint, GetProgramResourceLocation, (GLuint program, GLenum programInterface, const GLchar *name)) \
620 F(void, UseProgramStages, (GLuint pipeline, GLbitfield stages, GLuint program)) \
621 F(void, ActiveShaderProgram, (GLuint pipeline, GLuint program)) \
622 F(GLuint, CreateShaderProgramv, (GLenum type, GLsizei count, const GLchar *const*strings)) \
623 F(void, BindProgramPipeline, (GLuint pipeline)) \
624 F(void, DeleteProgramPipelines, (GLsizei n, const GLuint *pipelines)) \
625 F(void, GenProgramPipelines, (GLsizei n, GLuint *pipelines)) \
626 F(GLboolean, IsProgramPipeline, (GLuint pipeline)) \
627 F(void, GetProgramPipelineiv, (GLuint pipeline, GLenum pname, GLint *params)) \
628 F(void, ProgramUniform1i, (GLuint program, GLint location, GLint v0)) \
629 F(void, ProgramUniform2i, (GLuint program, GLint location, GLint v0, GLint v1)) \
630 F(void, ProgramUniform3i, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2)) \
631 F(void, ProgramUniform4i, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)) \
632 F(void, ProgramUniform1ui, (GLuint program, GLint location, GLuint v0)) \
633 F(void, ProgramUniform2ui, (GLuint program, GLint location, GLuint v0, GLuint v1)) \
634 F(void, ProgramUniform3ui, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)) \
635 F(void, ProgramUniform4ui, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)) \
636 F(void, ProgramUniform1f, (GLuint program, GLint location, GLfloat v0)) \
637 F(void, ProgramUniform2f, (GLuint program, GLint location, GLfloat v0, GLfloat v1)) \
638 F(void, ProgramUniform3f, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)) \
639 F(void, ProgramUniform4f, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)) \
640 F(void, ProgramUniform1iv, (GLuint program, GLint location, GLsizei count, const GLint *value)) \
641 F(void, ProgramUniform2iv, (GLuint program, GLint location, GLsizei count, const GLint *value)) \
642 F(void, ProgramUniform3iv, (GLuint program, GLint location, GLsizei count, const GLint *value)) \
643 F(void, ProgramUniform4iv, (GLuint program, GLint location, GLsizei count, const GLint *value)) \
644 F(void, ProgramUniform1uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value)) \
645 F(void, ProgramUniform2uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value)) \
646 F(void, ProgramUniform3uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value)) \
647 F(void, ProgramUniform4uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value)) \
648 F(void, ProgramUniform1fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \
649 F(void, ProgramUniform2fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \
650 F(void, ProgramUniform3fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \
651 F(void, ProgramUniform4fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \
652 F(void, ProgramUniformMatrix2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
653 F(void, ProgramUniformMatrix3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
654 F(void, ProgramUniformMatrix4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
655 F(void, ProgramUniformMatrix2x3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
656 F(void, ProgramUniformMatrix3x2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
657 F(void, ProgramUniformMatrix2x4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
658 F(void, ProgramUniformMatrix4x2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
659 F(void, ProgramUniformMatrix3x4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
660 F(void, ProgramUniformMatrix4x3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
661 F(void, ValidateProgramPipeline, (GLuint pipeline)) \
662 F(void, GetProgramPipelineInfoLog, (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog)) \
663 F(void, BindImageTexture, (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)) \
664 F(void, GetBooleani_v, (GLenum target, GLuint index, GLboolean *data)) \
665 F(void, MemoryBarrier, (GLbitfield barriers)) \
666 F(void, MemoryBarrierByRegion, (GLbitfield barriers)) \
667 F(void, TexStorage2DMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)) \
668 F(void, GetMultisamplefv, (GLenum pname, GLuint index, GLfloat *val)) \
669 F(void, SampleMaski, (GLuint maskNumber, GLbitfield mask)) \
670 F(void, GetTexLevelParameteriv, (GLenum target, GLint level, GLenum pname, GLint *params)) \
671 F(void, GetTexLevelParameterfv, (GLenum target, GLint level, GLenum pname, GLfloat *params)) \
672 F(void, BindVertexBuffer, (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)) \
673 F(void, VertexAttribFormat, (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)) \
674 F(void, VertexAttribIFormat, (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)) \
675 F(void, VertexAttribBinding, (GLuint attribindex, GLuint bindingindex)) \
676 F(void, VertexBindingDivisor, (GLuint bindingindex, GLuint divisor)) \
677 F(void, BlendBarrier, (void)) \
678 F(void, BlendEquationSeparatei, (GLuint buf, GLenum modeRGB, GLenum modeAlpha)) \
679 F(void, BlendEquationi, (GLuint buf, GLenum mode)) \
680 F(void, BlendFuncSeparatei, (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)) \
681 F(void, BlendFunci, (GLuint buf, GLenum src, GLenum dst)) \
682 F(void, ColorMaski, (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)) \
683 F(void, CopyImageSubData, (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth)) \
684 F(void, DebugMessageCallback, (GLDEBUGPROC callback, const void * userParam)) \
685 F(void, DebugMessageControl, (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled)) \
686 F(void, DebugMessageInsert, (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf)) \
687 F(void, Disablei, (GLenum target, GLuint index)) \
688 F(void, DrawElementsBaseVertex, (GLenum mode, GLsizei count, GLenum type, const void * indices, GLint basevertex)) \
689 F(void, DrawElementsInstancedBaseVertex, (GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex)) \
690 F(void, DrawRangeElementsBaseVertex, (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices, GLint basevertex)) \
691 F(void, Enablei, (GLenum target, GLuint index)) \
692 F(void, FramebufferTexture, (GLenum target, GLenum attachment, GLuint texture, GLint level)) \
693 F(GLuint, GetDebugMessageLog, (GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog)) \
694 F(GLenum, GetGraphicsResetStatus, (void)) \
695 F(void, GetObjectLabel, (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label)) \
696 F(void, GetObjectPtrLabel, (const void * ptr, GLsizei bufSize, GLsizei* length, GLchar* label)) \
697 F(void, GetPointerv, (GLenum pname, void ** params)) \
698 F(void, GetSamplerParameterIiv, (GLuint sampler, GLenum pname, GLint* params)) \
699 F(void, GetSamplerParameterIuiv, (GLuint sampler, GLenum pname, GLuint* params)) \
700 F(void, GetTexParameterIiv, (GLenum target, GLenum pname, GLint* params)) \
701 F(void, GetTexParameterIuiv, (GLenum target, GLenum pname, GLuint* params)) \
702 F(void, GetnUniformfv, (GLuint program, GLint location, GLsizei bufSize, GLfloat* params)) \
703 F(void, GetnUniformiv, (GLuint program, GLint location, GLsizei bufSize, GLint* params)) \
704 F(void, GetnUniformuiv, (GLuint program, GLint location, GLsizei bufSize, GLuint* params)) \
705 F(GLboolean, IsEnabledi, (GLenum target, GLuint index)) \
706 F(void, MinSampleShading, (GLfloat value)) \
707 F(void, ObjectLabel, (GLenum identifier, GLuint name, GLsizei length, const GLchar * label)) \
708 F(void, ObjectPtrLabel, (const void * ptr, GLsizei length, const GLchar * label)) \
709 F(void, PatchParameteri, (GLenum pname, GLint value)) \
710 F(void, PopDebugGroup, (void)) \
711 F(void, PrimitiveBoundingBox, (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW)) \
712 F(void, PushDebugGroup, (GLenum source, GLuint id, GLsizei length, const GLchar * message)) \
713 F(void, ReadnPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data)) \
714 F(void, SamplerParameterIiv, (GLuint sampler, GLenum pname, const GLint * param)) \
715 F(void, SamplerParameterIuiv, (GLuint sampler, GLenum pname, const GLuint * param)) \
716 F(void, TexBuffer, (GLenum target, GLenum internalformat, GLuint buffer)) \
717 F(void, TexBufferRange, (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)) \
718 F(void, TexParameterIiv, (GLenum target, GLenum pname, const GLint * params)) \
719 F(void, TexParameterIuiv, (GLenum target, GLenum pname, const GLuint * params)) \
720 F(void, TexStorage3DMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)) \
721
723};
724
725// GLES 3.0 and 3.1
726
728{
730 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
731 d->f.BeginQuery(target, id);
733}
734
736{
738 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
739 d->f.BeginTransformFeedback(primitiveMode);
741}
742
744{
746 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
747 d->f.BindBufferBase(target, index, buffer);
749}
750
752{
754 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
755 d->f.BindBufferRange(target, index, buffer, offset, size);
757}
758
760{
762 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
763 d->f.BindSampler(unit, sampler);
765}
766
768{
770 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
771 d->f.BindTransformFeedback(target, id);
773}
774
776{
778 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
779 d->f.BindVertexArray(array);
781}
782
790
792{
794 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
795 d->f.ClearBufferfi(buffer, drawbuffer, depth, stencil);
797}
798
800{
802 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
803 d->f.ClearBufferfv(buffer, drawbuffer, value);
805}
806
808{
810 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
811 d->f.ClearBufferiv(buffer, drawbuffer, value);
813}
814
816{
818 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
819 d->f.ClearBufferuiv(buffer, drawbuffer, value);
821}
822
824{
826 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
827 GLenum result = d->f.ClientWaitSync(sync, flags, timeout);
829 return result;
830}
831
839
847
849{
851 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
852 d->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
854}
855
863
865{
867 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
868 d->f.DeleteQueries(n, ids);
870}
871
873{
875 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
876 d->f.DeleteSamplers(count, samplers);
878}
879
881{
883 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
884 d->f.DeleteSync(sync);
886}
887
889{
891 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
892 d->f.DeleteTransformFeedbacks(n, ids);
894}
895
897{
899 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
900 d->f.DeleteVertexArrays(n, arrays);
902}
903
905{
907 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
908 d->f.DrawArraysInstanced(mode, first, count, instancecount);
910}
911
913{
915 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
916 d->f.DrawBuffers(n, bufs);
918}
919
921{
923 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
924 d->f.DrawElementsInstanced(mode, count, type, indices, instancecount);
926}
927
929{
931 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
932 d->f.DrawRangeElements(mode, start, end, count, type, indices);
934}
935
937{
939 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
940 d->f.EndQuery(target);
942}
943
945{
947 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
948 d->f.EndTransformFeedback();
950}
951
953{
955 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
956 GLsync result = d->f.FenceSync(condition, flags);
958 return result;
959}
960
962{
964 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
965 d->f.FlushMappedBufferRange(target, offset, length);
967}
968
970{
972 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
973 d->f.FramebufferTextureLayer(target, attachment, texture, level, layer);
975}
976
978{
980 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
981 d->f.GenQueries(n, ids);
983}
984
986{
988 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
989 d->f.GenSamplers(count, samplers);
991}
992
994{
996 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
997 d->f.GenTransformFeedbacks(n, ids);
999}
1000
1002{
1004 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1005 d->f.GenVertexArrays(n, arrays);
1007}
1008
1016
1018{
1020 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1021 d->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
1023}
1024
1026{
1028 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1029 d->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
1031}
1032
1034{
1036 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1037 d->f.GetBufferParameteri64v(target, pname, params);
1039}
1040
1042{
1044 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1045 d->f.GetBufferPointerv(target, pname, params);
1047}
1048
1050{
1052 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1053 GLint result = d->f.GetFragDataLocation(program, name);
1055 return result;
1056}
1057
1059{
1061 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1062 d->f.GetInteger64i_v(target, index, data);
1064}
1065
1067{
1069 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1070 d->f.GetInteger64v(pname, data);
1072}
1073
1075{
1077 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1078 d->f.GetIntegeri_v(target, index, data);
1080}
1081
1083{
1085 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1086 d->f.GetInternalformativ(target, internalformat, pname, bufSize, params);
1088}
1089
1091{
1093 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1094 d->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary);
1096}
1097
1099{
1101 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1102 d->f.GetQueryObjectuiv(id, pname, params);
1104}
1105
1107{
1109 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1110 d->f.GetQueryiv(target, pname, params);
1112}
1113
1115{
1117 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1118 d->f.GetSamplerParameterfv(sampler, pname, params);
1120}
1121
1123{
1125 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1126 d->f.GetSamplerParameteriv(sampler, pname, params);
1128}
1129
1131{
1133 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1134 const GLubyte * result = d->f.GetStringi(name, index);
1136 return result;
1137}
1138
1140{
1142 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1143 d->f.GetSynciv(sync, pname, bufSize, length, values);
1145}
1146
1148{
1150 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1151 d->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
1153}
1154
1156{
1158 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1159 GLuint result = d->f.GetUniformBlockIndex(program, uniformBlockName);
1161 return result;
1162}
1163
1165{
1167 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1168 d->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
1170}
1171
1173{
1175 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1176 d->f.GetUniformuiv(program, location, params);
1178}
1179
1181{
1183 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1184 d->f.GetVertexAttribIiv(index, pname, params);
1186}
1187
1189{
1191 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1192 d->f.GetVertexAttribIuiv(index, pname, params);
1194}
1195
1197{
1199 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1200 d->f.InvalidateFramebuffer(target, numAttachments, attachments);
1202}
1203
1205{
1207 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1208 d->f.InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height);
1210}
1211
1213{
1215 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1216 GLboolean result = d->f.IsQuery(id);
1218 return result;
1219}
1220
1222{
1224 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1225 GLboolean result = d->f.IsSampler(sampler);
1227 return result;
1228}
1229
1231{
1233 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1234 GLboolean result = d->f.IsSync(sync);
1236 return result;
1237}
1238
1240{
1242 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1243 GLboolean result = d->f.IsTransformFeedback(id);
1245 return result;
1246}
1247
1249{
1251 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1252 GLboolean result = d->f.IsVertexArray(array);
1254 return result;
1255}
1256
1258{
1260 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1261 void *result = d->f.MapBufferRange(target, offset, length, access);
1263 return result;
1264}
1265
1267{
1269 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1270 d->f.PauseTransformFeedback();
1272}
1273
1275{
1277 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1278 d->f.ProgramBinary(program, binaryFormat, binary, length);
1280}
1281
1283{
1285 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1286 d->f.ProgramParameteri(program, pname, value);
1288}
1289
1291{
1293 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1294 d->f.ReadBuffer(src);
1296}
1297
1299{
1301 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1302 d->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height);
1304}
1305
1307{
1309 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1310 d->f.ResumeTransformFeedback();
1312}
1313
1315{
1317 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1318 d->f.SamplerParameterf(sampler, pname, param);
1320}
1321
1323{
1325 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1326 d->f.SamplerParameterfv(sampler, pname, param);
1328}
1329
1331{
1333 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1334 d->f.SamplerParameteri(sampler, pname, param);
1336}
1337
1339{
1341 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1342 d->f.SamplerParameteriv(sampler, pname, param);
1344}
1345
1353
1355{
1357 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1358 d->f.TexStorage2D(target, levels, internalformat, width, height);
1360}
1361
1369
1377
1379{
1381 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1382 d->f.TransformFeedbackVaryings(program, count, varyings, bufferMode);
1384}
1385
1387{
1389 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1390 d->f.Uniform1ui(location, v0);
1392}
1393
1395{
1397 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1398 d->f.Uniform1uiv(location, count, value);
1400}
1401
1403{
1405 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1406 d->f.Uniform2ui(location, v0, v1);
1408}
1409
1411{
1413 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1414 d->f.Uniform2uiv(location, count, value);
1416}
1417
1419{
1421 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1422 d->f.Uniform3ui(location, v0, v1, v2);
1424}
1425
1427{
1429 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1430 d->f.Uniform3uiv(location, count, value);
1432}
1433
1435{
1437 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1438 d->f.Uniform4ui(location, v0, v1, v2, v3);
1440}
1441
1443{
1445 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1446 d->f.Uniform4uiv(location, count, value);
1448}
1449
1457
1459{
1461 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1462 d->f.UniformMatrix2x3fv(location, count, transpose, value);
1464}
1465
1467{
1469 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1470 d->f.UniformMatrix2x4fv(location, count, transpose, value);
1472}
1473
1475{
1477 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1478 d->f.UniformMatrix3x2fv(location, count, transpose, value);
1480}
1481
1483{
1485 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1486 d->f.UniformMatrix3x4fv(location, count, transpose, value);
1488}
1489
1491{
1493 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1494 d->f.UniformMatrix4x2fv(location, count, transpose, value);
1496}
1497
1499{
1501 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1502 d->f.UniformMatrix4x3fv(location, count, transpose, value);
1504}
1505
1507{
1509 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1510 GLboolean result = d->f.UnmapBuffer(target);
1512 return result;
1513}
1514
1516{
1518 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1519 d->f.VertexAttribDivisor(index, divisor);
1521}
1522
1524{
1526 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1527 d->f.VertexAttribI4i(index, x, y, z, w);
1529}
1530
1532{
1534 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1535 d->f.VertexAttribI4iv(index, v);
1537}
1538
1540{
1542 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1543 d->f.VertexAttribI4ui(index, x, y, z, w);
1545}
1546
1548{
1550 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1551 d->f.VertexAttribI4uiv(index, v);
1553}
1554
1556{
1558 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1559 d->f.VertexAttribIPointer(index, size, type, stride, pointer);
1561}
1562
1564{
1566 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1567 d->f.WaitSync(sync, flags, timeout);
1569}
1570
1572{
1574 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1575 d->f.ActiveShaderProgram(pipeline, program);
1577}
1578
1580{
1582 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1583 d->f.BindImageTexture(unit, texture, level, layered, layer, access, format);
1585}
1586
1588{
1590 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1591 d->f.BindProgramPipeline(pipeline);
1593}
1594
1596{
1598 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1599 d->f.BindVertexBuffer(bindingindex, buffer, offset, stride);
1601}
1602
1604{
1606 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1607 GLuint result = d->f.CreateShaderProgramv(type, count, strings);
1609 return result;
1610}
1611
1613{
1615 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1616 d->f.DeleteProgramPipelines(n, pipelines);
1618}
1619
1621{
1623 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1624 d->f.DispatchCompute(num_groups_x, num_groups_y, num_groups_z);
1626}
1627
1629{
1631 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1632 d->f.DispatchComputeIndirect(indirect);
1634}
1635
1637{
1639 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1640 d->f.DrawArraysIndirect(mode, indirect);
1642}
1643
1645{
1647 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1648 d->f.DrawElementsIndirect(mode, type, indirect);
1650}
1651
1653{
1655 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1656 d->f.FramebufferParameteri(target, pname, param);
1658}
1659
1661{
1663 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1664 d->f.GenProgramPipelines(n, pipelines);
1666}
1667
1669{
1671 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1672 d->f.GetBooleani_v(target, index, data);
1674}
1675
1677{
1679 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1680 d->f.GetFramebufferParameteriv(target, pname, params);
1682}
1683
1685{
1687 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1688 d->f.GetMultisamplefv(pname, index, val);
1690}
1691
1693{
1695 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1696 d->f.GetProgramInterfaceiv(program, programInterface, pname, params);
1698}
1699
1701{
1703 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1704 d->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);
1706}
1707
1709{
1711 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1712 d->f.GetProgramPipelineiv(pipeline, pname, params);
1714}
1715
1717{
1719 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1720 GLuint result = d->f.GetProgramResourceIndex(program, programInterface, name);
1722 return result;
1723}
1724
1726{
1728 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1729 GLint result = d->f.GetProgramResourceLocation(program, programInterface, name);
1731 return result;
1732}
1733
1741
1749
1751{
1753 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1754 d->f.GetTexLevelParameterfv(target, level, pname, params);
1756}
1757
1759{
1761 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1762 d->f.GetTexLevelParameteriv(target, level, pname, params);
1764}
1765
1767{
1769 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1770 GLboolean result = d->f.IsProgramPipeline(pipeline);
1772 return result;
1773}
1774
1776{
1778 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1779 d->f.MemoryBarrier(barriers);
1781}
1782
1784{
1786 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1787 d->f.MemoryBarrierByRegion(barriers);
1789}
1790
1792{
1794 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1795 d->f.ProgramUniform1f(program, location, v0);
1797}
1798
1800{
1802 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1803 d->f.ProgramUniform1fv(program, location, count, value);
1805}
1806
1808{
1810 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1811 d->f.ProgramUniform1i(program, location, v0);
1813}
1814
1816{
1818 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1819 d->f.ProgramUniform1iv(program, location, count, value);
1821}
1822
1824{
1826 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1827 d->f.ProgramUniform1ui(program, location, v0);
1829}
1830
1832{
1834 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1835 d->f.ProgramUniform1uiv(program, location, count, value);
1837}
1838
1840{
1842 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1843 d->f.ProgramUniform2f(program, location, v0, v1);
1845}
1846
1848{
1850 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1851 d->f.ProgramUniform2fv(program, location, count, value);
1853}
1854
1856{
1858 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1859 d->f.ProgramUniform2i(program, location, v0, v1);
1861}
1862
1864{
1866 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1867 d->f.ProgramUniform2iv(program, location, count, value);
1869}
1870
1872{
1874 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1875 d->f.ProgramUniform2ui(program, location, v0, v1);
1877}
1878
1880{
1882 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1883 d->f.ProgramUniform2uiv(program, location, count, value);
1885}
1886
1888{
1890 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1891 d->f.ProgramUniform3f(program, location, v0, v1, v2);
1893}
1894
1896{
1898 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1899 d->f.ProgramUniform3fv(program, location, count, value);
1901}
1902
1904{
1906 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1907 d->f.ProgramUniform3i(program, location, v0, v1, v2);
1909}
1910
1912{
1914 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1915 d->f.ProgramUniform3iv(program, location, count, value);
1917}
1918
1920{
1922 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1923 d->f.ProgramUniform3ui(program, location, v0, v1, v2);
1925}
1926
1928{
1930 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1931 d->f.ProgramUniform3uiv(program, location, count, value);
1933}
1934
1936{
1938 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1939 d->f.ProgramUniform4f(program, location, v0, v1, v2, v3);
1941}
1942
1944{
1946 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1947 d->f.ProgramUniform4fv(program, location, count, value);
1949}
1950
1952{
1954 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1955 d->f.ProgramUniform4i(program, location, v0, v1, v2, v3);
1957}
1958
1960{
1962 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1963 d->f.ProgramUniform4iv(program, location, count, value);
1965}
1966
1968{
1970 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1971 d->f.ProgramUniform4ui(program, location, v0, v1, v2, v3);
1973}
1974
1976{
1978 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1979 d->f.ProgramUniform4uiv(program, location, count, value);
1981}
1982
1984{
1986 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1987 d->f.ProgramUniformMatrix2fv(program, location, count, transpose, value);
1989}
1990
1992{
1994 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
1995 d->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value);
1997}
1998
2000{
2002 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2003 d->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value);
2005}
2006
2008{
2010 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2011 d->f.ProgramUniformMatrix3fv(program, location, count, transpose, value);
2013}
2014
2016{
2018 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2019 d->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value);
2021}
2022
2024{
2026 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2027 d->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value);
2029}
2030
2032{
2034 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2035 d->f.ProgramUniformMatrix4fv(program, location, count, transpose, value);
2037}
2038
2040{
2042 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2043 d->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value);
2045}
2046
2048{
2050 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2051 d->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value);
2053}
2054
2056{
2058 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2059 d->f.SampleMaski(maskNumber, mask);
2061}
2062
2070
2072{
2074 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2075 d->f.UseProgramStages(pipeline, stages, program);
2077}
2078
2080{
2082 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2083 d->f.ValidateProgramPipeline(pipeline);
2085}
2086
2088{
2090 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2091 d->f.VertexAttribBinding(attribindex, bindingindex);
2093}
2094
2102
2104{
2106 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2107 d->f.VertexAttribIFormat(attribindex, size, type, relativeoffset);
2109}
2110
2112{
2114 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2115 d->f.VertexBindingDivisor(bindingindex, divisor);
2117}
2118
2119// GLES 3.2
2120
2122{
2124 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2125 d->f.BlendBarrier();
2127}
2128
2130{
2132 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2133 d->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha);
2135}
2136
2138{
2140 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2141 d->f.BlendEquationi(buf, mode);
2143}
2144
2146{
2148 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2149 d->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
2151}
2152
2154{
2156 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2157 d->f.BlendFunci(buf, src, dst);
2159}
2160
2162{
2164 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2165 d->f.ColorMaski(index, r, g, b, a);
2167}
2168
2176
2178{
2180 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2181 d->f.DebugMessageCallback(callback, userParam);
2183}
2184
2186{
2188 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2189 d->f.DebugMessageControl(source, type, severity, count, ids, enabled);
2191}
2192
2194{
2196 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2197 d->f.DebugMessageInsert(source, type, id, severity, length, buf);
2199}
2200
2202{
2204 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2205 d->f.Disablei(target, index);
2207}
2208
2210{
2212 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2213 d->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex);
2215}
2216
2218{
2220 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2221 d->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
2223}
2224
2226{
2228 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2229 d->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
2231}
2232
2234{
2236 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2237 d->f.Enablei(target, index);
2239}
2240
2242{
2244 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2245 d->f.FramebufferTexture(target, attachment, texture, level);
2247}
2248
2257
2259{
2261 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2262 GLenum result = d->f.GetGraphicsResetStatus();
2264 return result;
2265}
2266
2268{
2270 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2271 d->f.GetObjectLabel(identifier, name, bufSize, length, label);
2273}
2274
2276{
2278 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2279 d->f.GetObjectPtrLabel(ptr, bufSize, length, label);
2281}
2282
2284{
2286 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2287 d->f.GetPointerv(pname, params);
2289}
2290
2292{
2294 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2295 d->f.GetSamplerParameterIiv(sampler, pname, params);
2297}
2298
2300{
2302 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2303 d->f.GetSamplerParameterIuiv(sampler, pname, params);
2305}
2306
2308{
2310 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2311 d->f.GetTexParameterIiv(target, pname, params);
2313}
2314
2316{
2318 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2319 d->f.GetTexParameterIuiv(target, pname, params);
2321}
2322
2324{
2326 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2327 d->f.GetnUniformfv(program, location, bufSize, params);
2329}
2330
2332{
2334 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2335 d->f.GetnUniformiv(program, location, bufSize, params);
2337}
2338
2340{
2342 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2343 d->f.GetnUniformuiv(program, location, bufSize, params);
2345}
2346
2348{
2350 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2351 GLboolean result = d->f.IsEnabledi(target, index);
2353 return result;
2354}
2355
2357{
2359 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2360 d->f.MinSampleShading(value);
2362}
2363
2365{
2367 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2368 d->f.ObjectLabel(identifier, name, length, label);
2370}
2371
2373{
2375 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2376 d->f.ObjectPtrLabel(ptr, length, label);
2378}
2379
2381{
2383 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2384 d->f.PatchParameteri(pname, value);
2386}
2387
2389{
2391 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2392 d->f.PopDebugGroup();
2394}
2395
2397{
2399 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2400 d->f.PrimitiveBoundingBox(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
2402}
2403
2405{
2407 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2408 d->f.PushDebugGroup(source, id, length, message);
2410}
2411
2413{
2415 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2416 d->f.ReadnPixels(x, y, width, height, format, type, bufSize, data);
2418}
2419
2421{
2423 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2424 d->f.SamplerParameterIiv(sampler, pname, param);
2426}
2427
2429{
2431 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2432 d->f.SamplerParameterIuiv(sampler, pname, param);
2434}
2435
2437{
2439 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2440 d->f.TexBuffer(target, internalformat, buffer);
2442}
2443
2445{
2447 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2448 d->f.TexBufferRange(target, internalformat, buffer, offset, size);
2450}
2451
2453{
2455 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2456 d->f.TexParameterIiv(target, pname, params);
2458}
2459
2461{
2463 Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d));
2464 d->f.TexParameterIuiv(target, pname, params);
2466}
2467
2475
2477
2478#undef QT_OPENGL_DECLARE_FUNCTIONS
2479#undef QT_OPENGL_COUNT_FUNCTIONS
2480#undef QT_OPENGL_DECLARE
2481
2482#ifdef Q_OS_WIN
2483#pragma pop_macro("MemoryBarrier")
2484#endif
2485
2486#endif // QT_NO_OPENGL
2487
2488#endif
\inmodule QtGui
QOpenGLExtraFunctionsPrivate(QOpenGLContext *ctx)
The QOpenGLExtraFunctions class provides cross-platform access to the OpenGL ES 3....
void glPatchParameteri(GLenum pname, GLint value)
Convenience function that calls glPatchParameteri(pname, value).
void glGetIntegeri_v(GLenum target, GLuint index, GLint *data)
Convenience function that calls glGetIntegeri_v(target, index, data).
void glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value)
Convenience function that calls glProgramUniform1iv(program, location, count, value).
void glBlendFunci(GLuint buf, GLenum src, GLenum dst)
Convenience function that calls glBlendFunci(buf, src, dst).
void glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect)
Convenience function that calls glDrawElementsIndirect(mode, type, indirect).
void glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines)
Convenience function that calls glDeleteProgramPipelines(n, pipelines).
void glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param)
Convenience function that calls glSamplerParameterIuiv(sampler, pname, param).
void glGetnUniformiv(GLuint program, GLint location, GLsizei bufSize, GLint *params)
Convenience function that calls glGetnUniformiv(program, location, bufSize, params).
void glGetPointerv(GLenum pname, void **params)
Convenience function that calls glGetPointerv(pname, params).
void glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)
Convenience function that calls glDebugMessageInsert(source, type, id, severity, length,...
void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)
Convenience function that calls glGetActiveUniformsiv(program, uniformCount, uniformIndices,...
void glValidateProgramPipeline(GLuint pipeline)
Convenience function that calls glValidateProgramPipeline(pipeline).
void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1)
Convenience function that calls glProgramUniform2i(program, location, v0, v1).
void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount)
Convenience function that calls glDrawElementsInstanced(mode, count, type, indices,...
void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height)
Convenience function that calls glInvalidateSubFramebuffer(target, numAttachments,...
void glEnablei(GLenum target, GLuint index)
Convenience function that calls glEnablei(target, index).
GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name)
Convenience function that calls glGetProgramResourceLocation(program, programInterface,...
void glUniform1ui(GLint location, GLuint v0)
Convenience function that calls glUniform1ui(location, v0).
void glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
Convenience function that calls glProgramUniform3fv(program, location, count, value).
void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glProgramUniformMatrix4x2fv(program, location, count,...
void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices)
Convenience function that calls glGetUniformIndices(program, uniformCount, uniformNames,...
void glMemoryBarrierByRegion(GLbitfield barriers)
Convenience function that calls glMemoryBarrierByRegion(barriers).
void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params)
Convenience function that calls glGetVertexAttribIuiv(index, pname, params).
void glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
Convenience function that calls glTexParameterIuiv(target, pname, params).
void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glUniformMatrix4x2fv(location, count, transpose, value).
void glSampleMaski(GLuint maskNumber, GLbitfield mask)
Convenience function that calls glSampleMaski(maskNumber, mask).
void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params)
Convenience function that calls glGetVertexAttribIiv(index, pname, params).
void glGenTransformFeedbacks(GLsizei n, GLuint *ids)
Convenience function that calls glGenTransformFeedbacks(n, ids).
void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level)
Convenience function that calls glFramebufferTexture(target, attachment, texture, level).
void glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)
Convenience function that calls glDebugMessageControl(source, type, severity, count,...
void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glUniformMatrix3x4fv(location, count, transpose, value).
void glGetnUniformuiv(GLuint program, GLint location, GLsizei bufSize, GLuint *params)
Convenience function that calls glGetnUniformuiv(program, location, bufSize, params).
void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params)
Convenience function that calls glGetProgramInterfaceiv(program, programInterface,...
GLint glGetFragDataLocation(GLuint program, const GLchar *name)
Convenience function that calls glGetFragDataLocation(program, name).
void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
Convenience function that calls glProgramUniform4uiv(program, location, count, value).
void glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
Convenience function that calls glVertexAttribI4ui(index, x, y, z, w).
void glGenVertexArrays(GLsizei n, GLuint *arrays)
Convenience function that calls glGenVertexArrays(n, arrays).
void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glProgramUniformMatrix4x3fv(program, location, count,...
void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount)
Convenience function that calls glDrawArraysInstanced(mode, first, count, instancecount).
void glEndTransformFeedback(void)
Convenience function that calls glEndTransformFeedback().
void glVertexAttribI4iv(GLuint index, const GLint *v)
Convenience function that calls glVertexAttribI4iv(index, v).
void glProgramUniform1ui(GLuint program, GLint location, GLuint v0)
Convenience function that calls glProgramUniform1ui(program, location, v0).
void glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param)
Convenience function that calls glSamplerParameterIiv(sampler, pname, param).
GLboolean glIsEnabledi(GLenum target, GLuint index)
Convenience function that calls glIsEnabledi(target, index).
void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)
Convenience function that calls glBindVertexBuffer(bindingindex, buffer, offset, stride).
void glGetQueryiv(GLenum target, GLenum pname, GLint *params)
Convenience function that calls glGetQueryiv(target, pname, params).
GLsync glFenceSync(GLenum condition, GLbitfield flags)
Convenience function that calls glFenceSync(condition, flags).
void glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode)
Convenience function that calls glTransformFeedbackVaryings(program, count, varyings,...
void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
Convenience function that calls glGetTexParameterIiv(target, pname, params).
void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)
Convenience function that calls glBindImageTexture(unit, texture, level, layered, layer,...
void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments)
Convenience function that calls glInvalidateFramebuffer(target, numAttachments, attachments).
void glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value)
Convenience function that calls glProgramUniform2iv(program, location, count, value).
void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params)
Convenience function that calls glGetProgramResourceiv(program, programInterface, index,...
GLboolean glIsProgramPipeline(GLuint pipeline)
Convenience function that calls glIsProgramPipeline(pipeline).
void glGenQueries(GLsizei n, GLuint *ids)
Convenience function that calls glGenQueries(n, ids).
void glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth)
Convenience function that calls glCopyImageSubData(srcName, srcTarget, srcLevel, srcX,...
void glBindProgramPipeline(GLuint pipeline)
Convenience function that calls glBindProgramPipeline(pipeline).
void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data)
Convenience function that calls glGetBooleani_v(target, index, data).
void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)
Convenience function that calls glProgramUniform3i(program, location, v0, v1, v2).
void * glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
Convenience function that calls glMapBufferRange(target, offset, length, access).
void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
Convenience function that calls glFlushMappedBufferRange(target, offset, length).
void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
Convenience function that calls glProgramUniform4i(program, location, v0, v1, v2, v3).
GLboolean glIsSampler(GLuint sampler)
Convenience function that calls glIsSampler(sampler).
void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex)
Convenience function that calls glDrawElementsBaseVertex(mode, count, type, indices,...
void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
Convenience function that calls glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding...
void glDrawArraysIndirect(GLenum mode, const void *indirect)
Convenience function that calls glDrawArraysIndirect(mode, indirect).
void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glProgramUniformMatrix2x4fv(program, location, count,...
void glDispatchComputeIndirect(GLintptr indirect)
Convenience function that calls glDispatchComputeIndirect(indirect).
void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
Convenience function that calls glUniform3ui(location, v0, v1, v2).
void glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
Convenience function that calls glTexBufferRange(target, internalformat, buffer, offset,...
void glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value)
Convenience function that calls glProgramUniform3iv(program, location, count, value).
void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1)
Convenience function that calls glProgramUniform2ui(program, location, v0, v1).
void glVertexAttribDivisor(GLuint index, GLuint divisor)
Convenience function that calls glVertexAttribDivisor(index, divisor).
void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
Convenience function that calls glGetProgramPipelineInfoLog(pipeline, bufSize, length,...
GLboolean glIsQuery(GLuint id)
Convenience function that calls glIsQuery(id).
void glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value)
Convenience function that calls glClearBufferfv(buffer, drawbuffer, value).
void glDeleteVertexArrays(GLsizei n, const GLuint *arrays)
Convenience function that calls glDeleteVertexArrays(n, arrays).
void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
Convenience function that calls glTexStorage2DMultisample(target, samples, internalformat,...
GLboolean glUnmapBuffer(GLenum target)
Convenience function that calls glUnmapBuffer(target).
void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)
Convenience function that calls glGetActiveUniformBlockName(program, uniformBlockIndex,...
void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
Convenience function that calls glFramebufferTextureLayer(target, attachment, texture,...
void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer)
Convenience function that calls glVertexAttribIPointer(index, size, type, stride, pointer).
void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
Convenience function that calls glSamplerParameterf(sampler, pname, param).
void glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message)
Convenience function that calls glPushDebugGroup(source, id, length, message).
void glDeleteQueries(GLsizei n, const GLuint *ids)
Convenience function that calls glDeleteQueries(n, ids).
void glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w)
Convenience function that calls glVertexAttribI4i(index, x, y, z, w).
void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices)
Convenience function that calls glDrawRangeElements(mode, start, end, count, type,...
void glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label)
Convenience function that calls glGetObjectPtrLabel(ptr, bufSize, length, label).
void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name)
Convenience function that calls glGetProgramResourceName(program, programInterface,...
void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
Convenience function that calls glGetActiveUniformBlockiv(program, uniformBlockIndex,...
void glBeginQuery(GLenum target, GLuint id)
Convenience function that calls glBeginQuery(target, id).
void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glProgramUniformMatrix3x4fv(program, location, count,...
void glUniform2uiv(GLint location, GLsizei count, const GLuint *value)
Convenience function that calls glUniform2uiv(location, count, value).
void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor)
Convenience function that calls glVertexBindingDivisor(bindingindex, divisor).
void glPrimitiveBoundingBox(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW)
Convenience function that calls glPrimitiveBoundingBox(minX, minY, minZ, minW, maxX,...
void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program)
Convenience function that calls glUseProgramStages(pipeline, stages, program).
void glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param)
Convenience function that calls glSamplerParameterfv(sampler, pname, param).
GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name)
Convenience function that calls glGetProgramResourceIndex(program, programInterface,...
void glBlendBarrier(void)
Convenience function that calls glBlendBarrier().
void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
Convenience function that calls glProgramUniform2uiv(program, location, count, value).
void glUniform4uiv(GLint location, GLsizei count, const GLuint *value)
Convenience function that calls glUniform4uiv(location, count, value).
void glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
Convenience function that calls glProgramUniform4fv(program, location, count, value).
void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
Convenience function that calls glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0,...
GLboolean glIsSync(GLsync sync)
Convenience function that calls glIsSync(sync).
void glDisablei(GLenum target, GLuint index)
Convenience function that calls glDisablei(target, index).
void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
Convenience function that calls glWaitSync(sync, flags, timeout).
void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex)
Convenience function that calls glDrawRangeElementsBaseVertex(mode, start, end, count,...
void glActiveShaderProgram(GLuint pipeline, GLuint program)
Convenience function that calls glActiveShaderProgram(pipeline, program).
void glGenSamplers(GLsizei count, GLuint *samplers)
Convenience function that calls glGenSamplers(count, samplers).
void glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
Convenience function that calls glTexStorage3DMultisample(target, samples, internalformat,...
void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glUniformMatrix4x3fv(location, count, transpose, value).
void glProgramUniform1f(GLuint program, GLint location, GLfloat v0)
Convenience function that calls glProgramUniform1f(program, location, v0).
void glFramebufferParameteri(GLenum target, GLenum pname, GLint param)
Convenience function that calls glFramebufferParameteri(target, pname, param).
void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glUniformMatrix3x2fv(location, count, transpose, value).
void glPauseTransformFeedback(void)
Convenience function that calls glPauseTransformFeedback().
void glProgramParameteri(GLuint program, GLenum pname, GLint value)
Convenience function that calls glProgramParameteri(program, pname, value).
void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glUniformMatrix2x4fv(location, count, transpose, value).
void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params)
Convenience function that calls glGetSamplerParameteriv(sampler, pname, params).
void glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value)
Convenience function that calls glClearBufferuiv(buffer, drawbuffer, value).
void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
Convenience function that calls glProgramUniform3uiv(program, location, count, value).
void glGetBufferPointerv(GLenum target, GLenum pname, void **params)
Convenience function that calls glGetBufferPointerv(target, pname, params).
void glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param)
Convenience function that calls glSamplerParameteriv(sampler, pname, param).
void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params)
Convenience function that calls glGetProgramPipelineiv(pipeline, pname, params).
void glResumeTransformFeedback(void)
Convenience function that calls glResumeTransformFeedback().
void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
Convenience function that calls glTexStorage2D(target, levels, internalformat, width,...
void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
Convenience function that calls glGetSamplerParameterIiv(sampler, pname, params).
GLboolean glIsTransformFeedback(GLuint id)
Convenience function that calls glIsTransformFeedback(id).
void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary)
Convenience function that calls glGetProgramBinary(program, bufSize, length, binaryFormat,...
void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
Convenience function that calls glGetQueryObjectuiv(id, pname, params).
void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
Convenience function that calls glRenderbufferStorageMultisample(target, samples, internalformat,...
void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
Convenience function that calls glUniform4ui(location, v0, v1, v2, v3).
void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
Convenience function that calls glTexStorage3D(target, levels, internalformat, width,...
void glMinSampleShading(GLfloat value)
Convenience function that calls glMinSampleShading(value).
void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)
Convenience function that calls glTexImage3D(target, level, internalformat, width,...
void glPopDebugGroup(void)
Convenience function that calls glPopDebugGroup().
void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)
Convenience function that calls glDispatchCompute(num_groups_x, num_groups_y, num_groups_z).
void glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
Convenience function that calls glTexParameterIiv(target, pname, params).
void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
Convenience function that calls glColorMaski(index, r, g, b, a).
void glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data)
Convenience function that calls glReadnPixels(x, y, width, height, format, type, bufSize,...
void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glProgramUniformMatrix2fv(program, location, count,...
void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
Convenience function that calls glClearBufferfi(buffer, drawbuffer, depth, stencil).
void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
Convenience function that calls glProgramUniform4f(program, location, v0, v1, v2, v3).
void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
Convenience function that calls glProgramUniform1uiv(program, location, count, value).
void glBindVertexArray(GLuint array)
Convenience function that calls glBindVertexArray(array).
void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
Convenience function that calls glProgramUniform4ui(program, location, v0, v1, v2,...
void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)
Convenience function that calls glVertexAttribIFormat(attribindex, size, type, relativeoffset).
const GLubyte * glGetStringi(GLenum name, GLuint index)
Convenience function that calls glGetStringi(name, index).
void glVertexAttribI4uiv(GLuint index, const GLuint *v)
Convenience function that calls glVertexAttribI4uiv(index, v).
void glGenProgramPipelines(GLsizei n, GLuint *pipelines)
Convenience function that calls glGenProgramPipelines(n, pipelines).
void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
Convenience function that calls glTexBuffer(target, internalformat, buffer).
void glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)
Convenience function that calls glGetObjectLabel(identifier, name, bufSize, length,...
void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param)
Convenience function that calls glSamplerParameteri(sampler, pname, param).
void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)
Convenience function that calls glVertexAttribFormat(attribindex, size, type, normalized,...
void glUniform1uiv(GLint location, GLsizei count, const GLuint *value)
Convenience function that calls glUniform1uiv(location, count, value).
void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)
Convenience function that calls glCompressedTexImage3D(target, level, internalformat,...
void glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
Convenience function that calls glProgramUniform1fv(program, location, count, value).
void glUniform3uiv(GLint location, GLsizei count, const GLuint *value)
Convenience function that calls glUniform3uiv(location, count, value).
void glBeginTransformFeedback(GLenum primitiveMode)
Convenience function that calls glBeginTransformFeedback(primitiveMode).
void glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value)
Convenience function that calls glClearBufferiv(buffer, drawbuffer, value).
void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1)
Convenience function that calls glProgramUniform2f(program, location, v0, v1).
GLboolean glIsVertexArray(GLuint array)
Convenience function that calls glIsVertexArray(array).
void glGetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat *params)
Convenience function that calls glGetnUniformfv(program, location, bufSize, params).
void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params)
Convenience function that calls glGetTexLevelParameterfv(target, level, pname, params).
void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
Convenience function that calls glBlendEquationSeparatei(buf, modeRGB, modeAlpha).
void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
Convenience function that calls glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha,...
void glMemoryBarrier(GLbitfield barriers)
Convenience function that calls glMemoryBarrier(barriers).
void glGetUniformuiv(GLuint program, GLint location, GLuint *params)
Convenience function that calls glGetUniformuiv(program, location, params).
void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glProgramUniformMatrix3x2fv(program, location, count,...
void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex)
Convenience function that calls glVertexAttribBinding(attribindex, bindingindex).
GLuint glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const *strings)
Convenience function that calls glCreateShaderProgramv(type, count, strings).
void glDeleteSync(GLsync sync)
Convenience function that calls glDeleteSync(sync).
void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)
Convenience function that calls glCompressedTexSubImage3D(target, level, xoffset, yoffset,...
void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params)
Convenience function that calls glGetFramebufferParameteriv(target, pname, params).
void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params)
Convenience function that calls glGetBufferParameteri64v(target, pname, params).
void glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids)
Convenience function that calls glDeleteTransformFeedbacks(n, ids).
GLuint glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)
Convenience function that calls glGetDebugMessageLog(count, bufSize, sources, types,...
void glDeleteSamplers(GLsizei count, const GLuint *samplers)
Convenience function that calls glDeleteSamplers(count, samplers).
void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
Convenience function that calls glBindBufferRange(target, index, buffer, offset, size).
void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)
Convenience function that calls glTexSubImage3D(target, level, xoffset, yoffset, zoffset,...
void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)
Convenience function that calls glProgramUniform3ui(program, location, v0, v1, v2).
void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
Convenience function that calls glGetTexParameterIuiv(target, pname, params).
void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)
Convenience function that calls glGetSynciv(sync, pname, bufSize, length, values).
void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glProgramUniformMatrix4fv(program, location, count,...
void glUniform2ui(GLint location, GLuint v0, GLuint v1)
Convenience function that calls glUniform2ui(location, v0, v1).
void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glUniformMatrix2x3fv(location, count, transpose, value).
void glDrawBuffers(GLsizei n, const GLenum *bufs)
Convenience function that calls glDrawBuffers(n, bufs).
void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params)
Convenience function that calls glGetSamplerParameterfv(sampler, pname, params).
void glBindTransformFeedback(GLenum target, GLuint id)
Convenience function that calls glBindTransformFeedback(target, id).
void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glProgramUniformMatrix3fv(program, location, count,...
void glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data)
Convenience function that calls glGetInteger64i_v(target, index, data).
GLenum glGetGraphicsResetStatus(void)
Convenience function that calls glGetGraphicsResetStatus().
void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val)
Convenience function that calls glGetMultisamplefv(pname, index, val).
GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
Convenience function that calls glClientWaitSync(sync, flags, timeout).
void glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
Convenience function that calls glBindBufferBase(target, index, buffer).
void glProgramUniform1i(GLuint program, GLint location, GLint v0)
Convenience function that calls glProgramUniform1i(program, location, v0).
void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
Convenience function that calls glCopyTexSubImage3D(target, level, xoffset, yoffset,...
void glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam)
Convenience function that calls glDebugMessageCallback(callback, userParam).
void glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label)
Convenience function that calls glObjectPtrLabel(ptr, length, label).
void glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length)
Convenience function that calls glProgramBinary(program, binaryFormat, binary, length).
void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
Convenience function that calls glGetTransformFeedbackVarying(program, index, bufSize,...
GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName)
Convenience function that calls glGetUniformBlockIndex(program, uniformBlockName).
void glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value)
Convenience function that calls glProgramUniform4iv(program, location, count, value).
void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params)
Convenience function that calls glGetInternalformativ(target, internalformat, pname,...
void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params)
Convenience function that calls glGetSamplerParameterIuiv(sampler, pname, params).
void glBlendEquationi(GLuint buf, GLenum mode)
Convenience function that calls glBlendEquationi(buf, mode).
void glEndQuery(GLenum target)
Convenience function that calls glEndQuery(target).
void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex)
Convenience function that calls glDrawElementsInstancedBaseVertex(mode, count, type,...
void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params)
Convenience function that calls glGetTexLevelParameteriv(target, level, pname, params).
void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
Convenience function that calls glProgramUniform3f(program, location, v0, v1, v2).
void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Convenience function that calls glProgramUniformMatrix2x3fv(program, location, count,...
void glBindSampler(GLuint unit, GLuint sampler)
Convenience function that calls glBindSampler(unit, sampler).
void glReadBuffer(GLenum mode)
Convenience function that calls glReadBuffer(src).
void glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
Convenience function that calls glProgramUniform2fv(program, location, count, value).
void glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
Convenience function that calls glObjectLabel(identifier, name, length, label).
void glGetInteger64v(GLenum pname, GLint64 *data)
Convenience function that calls glGetInteger64v(pname, data).
void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
Convenience function that calls glCopyBufferSubData(readTarget, writeTarget, readOffset,...
The QOpenGLFunctions class provides cross-platform access to the OpenGL ES 2.0 API.
EGLContext ctx
Combined button and popup list for selecting options.
static void * context
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
EGLOutputLayerEXT layer
static ControlElement< T > * ptr(QWidget *widget)
ptrdiff_t GLintptr
Definition qopengl.h:163
uint64_t GLuint64
Definition qopengl.h:233
#define QOPENGLF_APIENTRY
Definition qopengl.h:270
int64_t GLint64
Definition qopengl.h:232
ptrdiff_t GLsizeiptr
Definition qopengl.h:164
struct __GLsync * GLsync
Definition qopengl.h:234
void(QT_APIENTRY * GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const GLvoid *userParam)
Definition qopengl.h:252
char GLchar
Definition qopengl.h:158
GLenum modeRGB
GLint location
GLenum GLenum modeAlpha
GLsizei GLenum GLsizei GLsizei GLsizei GLboolean fixedsamplelocations
GLint GLint GLint GLint dstX0
GLint GLfloat GLfloat GLfloat v2
GLenum GLsizei GLsizei GLint * values
[15]
GLsizei GLsizei GLenum void * binary
GLenum GLint GLint GLint GLint GLuint GLenum GLint GLint GLint GLint dstZ
GLboolean GLboolean GLboolean b
typedef GLint(GL_APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC)(GLuint program
GLbitfield stages
GLsizei const GLfloat * v
[13]
GLint GLboolean layered
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat z
GLenum GLint GLint GLint GLint GLuint GLenum GLint GLint GLint GLint GLsizei GLsizei srcHeight
GLsizei GLenum GLenum GLuint GLenum * severities
GLint GLint GLint GLint GLint x
[0]
GLint GLenum GLsizei GLsizei GLsizei depth
typedef GLfloat(GL_APIENTRYP PFNGLGETPATHLENGTHNVPROC)(GLuint path
GLsizei samples
GLenum mode
GLenum programInterface
GLenum GLint GLint GLint GLint GLuint GLenum GLint GLint GLint dstY
GLenum GLuint GLint level
GLfloat GLfloat GLfloat w
[0]
const GLuint * pipelines
GLint GLsizei GLsizei height
GLfloat GLfloat GLfloat GLfloat GLfloat maxY
GLboolean GLboolean GLboolean GLboolean a
[7]
GLuint divisor
GLenum srcTarget
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLuint index
[2]
GLenum condition
GLboolean r
[2]
GLuint GLuint end
GLenum GLint GLint GLint srcY
GLenum GLenum GLsizei const GLuint * ids
GLenum GLint GLint GLint GLint GLuint GLenum GLint GLint dstX
GLsizei GLenum GLenum * types
GLsizei const GLchar ** strings
[1]
GLenum srcRGB
GLuint sampler
GLenum GLenum GLenum GLenum dstAlpha
GLenum GLuint GLenum GLsizei length
GLint srcY0
GLenum GLint GLint GLint GLint GLuint GLenum GLint GLint GLint GLint GLsizei srcWidth
GLenum GLuint id
[7]
GLenum GLenum GLsizei count
const GLenum * bufs
GLenum pname
const void * indirect
GLbitfield GLuint64 timeout
[4]
GLfloat minY
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLint GLenum GLsizei GLsizei GLsizei GLint border
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLsizei GLsizei GLchar * infoLog
GLint GLint srcX1
GLsizei levels
GLenum GLenum GLenum srcAlpha
GLsizei GLenum GLenum GLuint GLenum GLsizei * lengths
GLenum src
const void GLsizei GLsizei stride
GLenum GLuint buffer
GLint GLint GLint yoffset
GLint GLsizei width
GLint GLint GLint GLint zoffset
const void * userParam
GLint GLsizei GLboolean transpose
GLenum GLint GLint srcX
GLenum GLenum dstRGB
GLenum GLint GLint GLint GLint GLuint GLenum GLint dstLevel
typedef GLsizei(GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC)(GLuint target)
GLenum GLint GLint GLint GLint GLuint GLenum dstTarget
GLenum type
GLenum GLint srcLevel
GLenum writeTarget
GLenum GLenum dst
GLenum GLintptr readOffset
GLuint GLsizei const GLchar * label
[43]
GLint GLint GLint GLint GLint GLint dstX1
GLenum GLint GLint GLint GLint srcZ
typedef GLenum(GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSKHRPROC)(void)
GLenum access
GLint GLfloat v0
GLfloat GLfloat GLfloat minW
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum target
GLenum GLintptr GLintptr writeOffset
GLbitfield flags
GLsizei GLenum const void GLint basevertex
GLint GLfloat GLfloat v1
GLsizei GLenum GLenum GLuint GLenum GLsizei GLchar * messageLog
GLsizei const GLenum * attachments
GLenum GLuint texture
GLsizei GLenum const void GLsizei instancecount
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLuint program
GLuint GLsizei const GLchar * message
GLint GLenum internalformat
const GLuint * arrays
GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat maxW
GLenum GLuint GLsizei const GLenum * props
GLint GLint xoffset
typedef GLboolean(GL_APIENTRYP PFNGLISENABLEDIOESPROC)(GLenum target
GLuint start
GLenum const GLint * param
GLenum GLuint GLintptr offset
GLboolean GLboolean g
GLenum GLint GLint GLint GLint GLuint dstName
GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat maxZ
GLenum GLenum severity
GLint GLfloat GLfloat GLfloat GLfloat v3
GLsizei GLsizei GLenum * binaryFormat
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum const void * pixels
GLenum GLint GLint GLint GLint GLuint GLenum GLint GLint GLint GLint GLsizei GLsizei GLsizei srcDepth
GLenum attachment
GLenum GLuint GLsizei propCount
GLuint name
GLint first
GLsizei bufSize
GLint GLint GLint srcY1
GLint GLint GLint GLint GLint GLint GLint GLbitfield mask
GLsizei GLenum * sources
GLfloat n
GLint GLsizei GLsizei GLenum format
GLint GLint GLint GLint GLint dstY0
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei imageSize
GLint GLint GLint GLint GLint GLint GLint dstY1
GLsizei GLenum const void * indices
GLsizei numAttachments
GLint y
GLfloat GLfloat minZ
GLfloat GLfloat GLfloat GLfloat maxX
GLsizei GLsizei GLchar * source
void ** params
GLuint GLuint num_groups_z
const GLchar * uniformBlockName
GLuint GLint srcX0
GLsizei uniformCount
GLsizei const GLchar *const * varyings
GLuint GLfloat * val
GLsizei const GLchar *const GLenum bufferMode
GLenum array
GLuint num_groups_y
typedef GLbitfield(APIENTRYP PFNGLQUERYMATRIXXOESPROC)(GLfixed *mantissa
GLuint * samplers
GLint GLenum GLboolean GLuint relativeoffset
GLsizei const GLchar *const GLuint * uniformIndices
GLsizei const void * pointer
Definition qopenglext.h:384
GLbitfield GLuint srcName
GLint GLenum GLboolean normalized
Definition qopenglext.h:752
GLuint64EXT * result
[6]
GLuint GLuint uniformBlockBinding
GLuint bindingindex
GLint GLfloat GLint stencil
GLuint attribindex
GLuint uniformBlockIndex
GLint drawbuffer
GLsizei const GLchar *const * uniformNames
#define QT_OPENGL_EXTRA_FUNCTIONS(F)
#define QT_OPENGL_DECLARE(FUNCTIONS)
#define Q_OPENGL_FUNCTIONS_DEBUG
#define Q_ASSERT(cond)
Definition qrandom.cpp:47
#define GLuint