35class Q_OPENGL_EXPORT QOpenGLFunctions_4_3_Core :
public QAbstractOpenGLFunctions
38 QOpenGLFunctions_4_3_Core();
39 ~QOpenGLFunctions_4_3_Core();
41 bool initializeOpenGLFunctions() override;
44 void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
45 void glDepthRange(GLdouble nearVal, GLdouble farVal);
46 GLboolean glIsEnabled(GLenum cap);
47 void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params);
48 void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params);
49 void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);
50 void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);
51 void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
52 const GLubyte * glGetString(GLenum name);
53 void glGetIntegerv(GLenum pname, GLint *params);
54 void glGetFloatv(GLenum pname, GLfloat *params);
56 void glGetDoublev(GLenum pname, GLdouble *params);
57 void glGetBooleanv(GLenum pname, GLboolean *params);
58 void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
59 void glReadBuffer(GLenum mode);
60 void glPixelStorei(GLenum pname, GLint param);
61 void glPixelStoref(GLenum pname, GLfloat param);
62 void glDepthFunc(GLenum func);
63 void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
64 void glStencilFunc(GLenum func, GLint ref, GLuint mask);
65 void glLogicOp(GLenum opcode);
66 void glBlendFunc(GLenum sfactor, GLenum dfactor);
69 void glEnable(GLenum cap);
70 void glDisable(GLenum cap);
71 void glDepthMask(GLboolean flag);
72 void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
73 void glStencilMask(GLuint mask);
74 void glClearDepth(GLdouble depth);
75 void glClearStencil(GLint s);
76 void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
77 void glClear(GLbitfield mask);
78 void glDrawBuffer(GLenum mode);
79 void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type,
const GLvoid *pixels);
80 void glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type,
const GLvoid *pixels);
81 void glTexParameteriv(GLenum target, GLenum pname,
const GLint *params);
82 void glTexParameteri(GLenum target, GLenum pname, GLint param);
83 void glTexParameterfv(GLenum target, GLenum pname,
const GLfloat *params);
84 void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
85 void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
86 void glPolygonMode(GLenum face, GLenum mode);
87 void glPointSize(GLfloat size);
88 void glLineWidth(GLfloat width);
89 void glHint(GLenum target, GLenum mode);
90 void glFrontFace(GLenum mode);
91 void glCullFace(GLenum mode);
94 GLboolean glIsTexture(GLuint texture);
95 void glGenTextures(GLsizei n, GLuint *textures);
96 void glDeleteTextures(GLsizei n,
const GLuint *textures);
97 void glBindTexture(GLenum target, GLuint texture);
98 void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type,
const GLvoid *pixels);
99 void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type,
const GLvoid *pixels);
100 void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
101 void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
102 void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
103 void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
104 void glPolygonOffset(GLfloat factor, GLfloat units);
105 void glDrawElements(GLenum mode, GLsizei count, GLenum type,
const GLvoid *indices);
106 void glDrawArrays(GLenum mode, GLint first, GLsizei count);
109 void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
110 void glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type,
const GLvoid *pixels);
111 void glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type,
const GLvoid *pixels);
112 void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type,
const GLvoid *indices);
113 void glBlendEquation(GLenum mode);
114 void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
117 void glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img);
118 void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize,
const GLvoid *data);
119 void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize,
const GLvoid *data);
120 void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize,
const GLvoid *data);
121 void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize,
const GLvoid *data);
122 void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize,
const GLvoid *data);
123 void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize,
const GLvoid *data);
124 void glSampleCoverage(GLfloat value, GLboolean invert);
125 void glActiveTexture(GLenum texture);
128 void glPointParameteriv(GLenum pname,
const GLint *params);
129 void glPointParameteri(GLenum pname, GLint param);
130 void glPointParameterfv(GLenum pname,
const GLfloat *params);
131 void glPointParameterf(GLenum pname, GLfloat param);
132 void glMultiDrawElements(GLenum mode,
const GLsizei *count, GLenum type,
const GLvoid*
const *indices, GLsizei drawcount);
133 void glMultiDrawArrays(GLenum mode,
const GLint *first,
const GLsizei *count, GLsizei drawcount);
134 void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
137 void glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params);
138 void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
139 GLboolean glUnmapBuffer(GLenum target);
140 GLvoid* glMapBuffer(GLenum target, GLenum access);
141 void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
142 void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size,
const GLvoid *data);
143 void glBufferData(GLenum target, GLsizeiptr size,
const GLvoid *data, GLenum usage);
144 GLboolean glIsBuffer(GLuint buffer);
145 void glGenBuffers(GLsizei n, GLuint *buffers);
146 void glDeleteBuffers(GLsizei n,
const GLuint *buffers);
147 void glBindBuffer(GLenum target, GLuint buffer);
148 void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params);
149 void glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params);
150 void glGetQueryiv(GLenum target, GLenum pname, GLint *params);
151 void glEndQuery(GLenum target);
152 void glBeginQuery(GLenum target, GLuint id);
153 GLboolean glIsQuery(GLuint id);
154 void glDeleteQueries(GLsizei n,
const GLuint *ids);
155 void glGenQueries(GLsizei n, GLuint *ids);
158 void glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride,
const GLvoid *pointer);
159 void glValidateProgram(GLuint program);
160 void glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
161 void glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
162 void glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
163 void glUniform4iv(GLint location, GLsizei count,
const GLint *value);
164 void glUniform3iv(GLint location, GLsizei count,
const GLint *value);
165 void glUniform2iv(GLint location, GLsizei count,
const GLint *value);
166 void glUniform1iv(GLint location, GLsizei count,
const GLint *value);
167 void glUniform4fv(GLint location, GLsizei count,
const GLfloat *value);
168 void glUniform3fv(GLint location, GLsizei count,
const GLfloat *value);
169 void glUniform2fv(GLint location, GLsizei count,
const GLfloat *value);
170 void glUniform1fv(GLint location, GLsizei count,
const GLfloat *value);
171 void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
172 void glUniform3i(GLint location, GLint v0, GLint v1, GLint v2);
173 void glUniform2i(GLint location, GLint v0, GLint v1);
174 void glUniform1i(GLint location, GLint v0);
175 void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
176 void glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
177 void glUniform2f(GLint location, GLfloat v0, GLfloat v1);
178 void glUniform1f(GLint location, GLfloat v0);
179 void glUseProgram(GLuint program);
180 void glShaderSource(GLuint shader, GLsizei count,
const GLchar*
const *string,
const GLint *length);
181 void glLinkProgram(GLuint program);
182 GLboolean glIsShader(GLuint shader);
183 GLboolean glIsProgram(GLuint program);
184 void glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer);
185 void glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params);
186 void glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params);
187 void glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params);
188 void glGetUniformiv(GLuint program, GLint location, GLint *params);
189 void glGetUniformfv(GLuint program, GLint location, GLfloat *params);
190 GLint glGetUniformLocation(GLuint program,
const GLchar *name);
191 void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
192 void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
193 void glGetShaderiv(GLuint shader, GLenum pname, GLint *params);
194 void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
195 void glGetProgramiv(GLuint program, GLenum pname, GLint *params);
196 GLint glGetAttribLocation(GLuint program,
const GLchar *name);
197 void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
198 void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
199 void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
200 void glEnableVertexAttribArray(GLuint index);
201 void glDisableVertexAttribArray(GLuint index);
202 void glDetachShader(GLuint program, GLuint shader);
203 void glDeleteShader(GLuint shader);
204 void glDeleteProgram(GLuint program);
205 GLuint glCreateShader(GLenum type);
206 GLuint glCreateProgram();
207 void glCompileShader(GLuint shader);
208 void glBindAttribLocation(GLuint program, GLuint index,
const GLchar *name);
209 void glAttachShader(GLuint program, GLuint shader);
210 void glStencilMaskSeparate(GLenum face, GLuint mask);
211 void glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);
212 void glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
213 void glDrawBuffers(GLsizei n,
const GLenum *bufs);
214 void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
217 void glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
218 void glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
219 void glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
220 void glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
221 void glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
222 void glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
225 GLboolean glIsVertexArray(GLuint array);
226 void glGenVertexArrays(GLsizei n, GLuint *arrays);
227 void glDeleteVertexArrays(GLsizei n,
const GLuint *arrays);
228 void glBindVertexArray(GLuint array);
229 void glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
230 GLvoid* glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
231 void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
232 void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
233 void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
234 void glGenerateMipmap(GLenum target);
235 void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
236 void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
237 void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
238 void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
239 void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
240 GLenum glCheckFramebufferStatus(GLenum target);
241 void glGenFramebuffers(GLsizei n, GLuint *framebuffers);
242 void glDeleteFramebuffers(GLsizei n,
const GLuint *framebuffers);
243 void glBindFramebuffer(GLenum target, GLuint framebuffer);
244 GLboolean glIsFramebuffer(GLuint framebuffer);
245 void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
246 void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
247 void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
248 void glDeleteRenderbuffers(GLsizei n,
const GLuint *renderbuffers);
249 void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
250 GLboolean glIsRenderbuffer(GLuint renderbuffer);
251 const GLubyte * glGetStringi(GLenum name, GLuint index);
252 void glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
253 void glClearBufferfv(GLenum buffer, GLint drawbuffer,
const GLfloat *value);
254 void glClearBufferuiv(GLenum buffer, GLint drawbuffer,
const GLuint *value);
255 void glClearBufferiv(GLenum buffer, GLint drawbuffer,
const GLint *value);
256 void glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params);
257 void glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params);
258 void glTexParameterIuiv(GLenum target, GLenum pname,
const GLuint *params);
259 void glTexParameterIiv(GLenum target, GLenum pname,
const GLint *params);
260 void glUniform4uiv(GLint location, GLsizei count,
const GLuint *value);
261 void glUniform3uiv(GLint location, GLsizei count,
const GLuint *value);
262 void glUniform2uiv(GLint location, GLsizei count,
const GLuint *value);
263 void glUniform1uiv(GLint location, GLsizei count,
const GLuint *value);
264 void glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
265 void glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2);
266 void glUniform2ui(GLint location, GLuint v0, GLuint v1);
267 void glUniform1ui(GLint location, GLuint v0);
268 GLint glGetFragDataLocation(GLuint program,
const GLchar *name);
269 void glBindFragDataLocation(GLuint program, GLuint color,
const GLchar *name);
270 void glGetUniformuiv(GLuint program, GLint location, GLuint *params);
271 void glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params);
272 void glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params);
273 void glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride,
const GLvoid *pointer);
274 void glEndConditionalRender();
275 void glBeginConditionalRender(GLuint id, GLenum mode);
276 void glClampColor(GLenum target, GLenum clamp);
277 void glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
278 void glTransformFeedbackVaryings(GLuint program, GLsizei count,
const GLchar*
const *varyings, GLenum bufferMode);
279 void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
280 void glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
281 void glEndTransformFeedback();
282 void glBeginTransformFeedback(GLenum primitiveMode);
283 GLboolean glIsEnabledi(GLenum target, GLuint index);
284 void glDisablei(GLenum target, GLuint index);
285 void glEnablei(GLenum target, GLuint index);
286 void glGetIntegeri_v(GLenum target, GLuint index, GLint *data);
287 void glGetBooleani_v(GLenum target, GLuint index, GLboolean *data);
288 void glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
291 void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
292 void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
293 void glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
294 void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
295 GLuint glGetUniformBlockIndex(GLuint program,
const GLchar *uniformBlockName);
296 void glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName);
297 void glGetActiveUniformsiv(GLuint program, GLsizei uniformCount,
const GLuint *uniformIndices, GLenum pname, GLint *params);
298 void glGetUniformIndices(GLuint program, GLsizei uniformCount,
const GLchar*
const *uniformNames, GLuint *uniformIndices);
299 void glPrimitiveRestartIndex(GLuint index);
300 void glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer);
301 void glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type,
const GLvoid *indices, GLsizei instancecount);
302 void glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
305 void glSampleMaski(GLuint index, GLbitfield mask);
306 void glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
307 void glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
308 void glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
309 void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
310 void glGetInteger64v(GLenum pname, GLint64 *params);
311 void glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
312 GLenum glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout);
313 void glDeleteSync(GLsync sync);
314 GLboolean glIsSync(GLsync sync);
315 GLsync glFenceSync(GLenum condition, GLbitfield flags);
316 void glProvokingVertex(GLenum mode);
317 void glMultiDrawElementsBaseVertex(GLenum mode,
const GLsizei *count, GLenum type,
const GLvoid*
const *indices, GLsizei drawcount,
const GLint *basevertex);
318 void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type,
const GLvoid *indices, GLsizei instancecount, GLint basevertex);
319 void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type,
const GLvoid *indices, GLint basevertex);
320 void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type,
const GLvoid *indices, GLint basevertex);
321 void glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level);
322 void glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params);
323 void glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data);
326 void glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized,
const GLuint *value);
327 void glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
328 void glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized,
const GLuint *value);
329 void glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
330 void glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized,
const GLuint *value);
331 void glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
332 void glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized,
const GLuint *value);
333 void glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value);
334 void glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params);
335 void glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params);
336 void glQueryCounter(GLuint id, GLenum target);
337 void glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params);
338 void glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params);
339 void glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params);
340 void glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params);
341 void glSamplerParameterIuiv(GLuint sampler, GLenum pname,
const GLuint *param);
342 void glSamplerParameterIiv(GLuint sampler, GLenum pname,
const GLint *param);
343 void glSamplerParameterfv(GLuint sampler, GLenum pname,
const GLfloat *param);
344 void glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param);
345 void glSamplerParameteriv(GLuint sampler, GLenum pname,
const GLint *param);
346 void glSamplerParameteri(GLuint sampler, GLenum pname, GLint param);
347 void glBindSampler(GLuint unit, GLuint sampler);
348 GLboolean glIsSampler(GLuint sampler);
349 void glDeleteSamplers(GLsizei count,
const GLuint *samplers);
350 void glGenSamplers(GLsizei count, GLuint *samplers);
351 GLint glGetFragDataIndex(GLuint program,
const GLchar *name);
352 void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index,
const GLchar *name);
353 void glVertexAttribDivisor(GLuint index, GLuint divisor);
356 void glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params);
357 void glEndQueryIndexed(GLenum target, GLuint index);
358 void glBeginQueryIndexed(GLenum target, GLuint index, GLuint id);
359 void glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream);
360 void glDrawTransformFeedback(GLenum mode, GLuint id);
361 void glResumeTransformFeedback();
362 void glPauseTransformFeedback();
363 GLboolean glIsTransformFeedback(GLuint id);
364 void glGenTransformFeedbacks(GLsizei n, GLuint *ids);
365 void glDeleteTransformFeedbacks(GLsizei n,
const GLuint *ids);
366 void glBindTransformFeedback(GLenum target, GLuint id);
367 void glPatchParameterfv(GLenum pname,
const GLfloat *values);
368 void glPatchParameteri(GLenum pname, GLint value);
369 void glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values);
370 void glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params);
371 void glUniformSubroutinesuiv(GLenum shadertype, GLsizei count,
const GLuint *indices);
372 void glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
373 void glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
374 void glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values);
375 GLuint glGetSubroutineIndex(GLuint program, GLenum shadertype,
const GLchar *name);
376 GLint glGetSubroutineUniformLocation(GLuint program, GLenum shadertype,
const GLchar *name);
377 void glGetUniformdv(GLuint program, GLint location, GLdouble *params);
378 void glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
379 void glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
380 void glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
381 void glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
382 void glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
383 void glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
384 void glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
385 void glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
386 void glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
387 void glUniform4dv(GLint location, GLsizei count,
const GLdouble *value);
388 void glUniform3dv(GLint location, GLsizei count,
const GLdouble *value);
389 void glUniform2dv(GLint location, GLsizei count,
const GLdouble *value);
390 void glUniform1dv(GLint location, GLsizei count,
const GLdouble *value);
391 void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
392 void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);
393 void glUniform2d(GLint location, GLdouble x, GLdouble y);
394 void glUniform1d(GLint location, GLdouble x);
395 void glDrawElementsIndirect(GLenum mode, GLenum type,
const GLvoid *indirect);
396 void glDrawArraysIndirect(GLenum mode,
const GLvoid *indirect);
397 void glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
398 void glBlendFunci(GLuint buf, GLenum src, GLenum dst);
399 void glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
400 void glBlendEquationi(GLuint buf, GLenum mode);
401 void glMinSampleShading(GLfloat value);
404 void glGetDoublei_v(GLenum target, GLuint index, GLdouble *data);
405 void glGetFloati_v(GLenum target, GLuint index, GLfloat *data);
406 void glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f);
407 void glDepthRangeArrayv(GLuint first, GLsizei count,
const GLdouble *v);
408 void glScissorIndexedv(GLuint index,
const GLint *v);
409 void glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
410 void glScissorArrayv(GLuint first, GLsizei count,
const GLint *v);
411 void glViewportIndexedfv(GLuint index,
const GLfloat *v);
412 void glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
413 void glViewportArrayv(GLuint first, GLsizei count,
const GLfloat *v);
414 void glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params);
415 void glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride,
const GLvoid *pointer);
416 void glVertexAttribL4dv(GLuint index,
const GLdouble *v);
417 void glVertexAttribL3dv(GLuint index,
const GLdouble *v);
418 void glVertexAttribL2dv(GLuint index,
const GLdouble *v);
419 void glVertexAttribL1dv(GLuint index,
const GLdouble *v);
420 void glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
421 void glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z);
422 void glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y);
423 void glVertexAttribL1d(GLuint index, GLdouble x);
424 void glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
425 void glValidateProgramPipeline(GLuint pipeline);
426 void glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
427 void glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
428 void glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
429 void glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
430 void glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
431 void glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
432 void glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
433 void glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
434 void glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
435 void glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
436 void glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
437 void glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
438 void glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
439 void glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
440 void glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLdouble *value);
441 void glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
442 void glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
443 void glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value);
444 void glProgramUniform4uiv(GLuint program, GLint location, GLsizei count,
const GLuint *value);
445 void glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
446 void glProgramUniform4dv(GLuint program, GLint location, GLsizei count,
const GLdouble *value);
447 void glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
448 void glProgramUniform4fv(GLuint program, GLint location, GLsizei count,
const GLfloat *value);
449 void glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
450 void glProgramUniform4iv(GLuint program, GLint location, GLsizei count,
const GLint *value);
451 void glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
452 void glProgramUniform3uiv(GLuint program, GLint location, GLsizei count,
const GLuint *value);
453 void glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
454 void glProgramUniform3dv(GLuint program, GLint location, GLsizei count,
const GLdouble *value);
455 void glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
456 void glProgramUniform3fv(GLuint program, GLint location, GLsizei count,
const GLfloat *value);
457 void glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
458 void glProgramUniform3iv(GLuint program, GLint location, GLsizei count,
const GLint *value);
459 void glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
460 void glProgramUniform2uiv(GLuint program, GLint location, GLsizei count,
const GLuint *value);
461 void glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1);
462 void glProgramUniform2dv(GLuint program, GLint location, GLsizei count,
const GLdouble *value);
463 void glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1);
464 void glProgramUniform2fv(GLuint program, GLint location, GLsizei count,
const GLfloat *value);
465 void glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1);
466 void glProgramUniform2iv(GLuint program, GLint location, GLsizei count,
const GLint *value);
467 void glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1);
468 void glProgramUniform1uiv(GLuint program, GLint location, GLsizei count,
const GLuint *value);
469 void glProgramUniform1ui(GLuint program, GLint location, GLuint v0);
470 void glProgramUniform1dv(GLuint program, GLint location, GLsizei count,
const GLdouble *value);
471 void glProgramUniform1d(GLuint program, GLint location, GLdouble v0);
472 void glProgramUniform1fv(GLuint program, GLint location, GLsizei count,
const GLfloat *value);
473 void glProgramUniform1f(GLuint program, GLint location, GLfloat v0);
474 void glProgramUniform1iv(GLuint program, GLint location, GLsizei count,
const GLint *value);
475 void glProgramUniform1i(GLuint program, GLint location, GLint v0);
476 void glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params);
477 GLboolean glIsProgramPipeline(GLuint pipeline);
478 void glGenProgramPipelines(GLsizei n, GLuint *pipelines);
479 void glDeleteProgramPipelines(GLsizei n,
const GLuint *pipelines);
480 void glBindProgramPipeline(GLuint pipeline);
481 GLuint glCreateShaderProgramv(GLenum type, GLsizei count,
const GLchar*
const *strings);
482 void glActiveShaderProgram(GLuint pipeline, GLuint program);
483 void glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program);
484 void glProgramParameteri(GLuint program, GLenum pname, GLint value);
485 void glProgramBinary(GLuint program, GLenum binaryFormat,
const GLvoid *binary, GLsizei length);
486 void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
487 void glClearDepthf(GLfloat dd);
488 void glDepthRangef(GLfloat n, GLfloat f);
489 void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
490 void glShaderBinary(GLsizei count,
const GLuint *shaders, GLenum binaryformat,
const GLvoid *binary, GLsizei length);
491 void glReleaseShaderCompiler();
494 void glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
495 void glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
496 void glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
497 void glMemoryBarrier(GLbitfield barriers);
498 void glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
499 void glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
500 void glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
501 void glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
502 void glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount);
503 void glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type,
const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
504 void glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type,
const void *indices, GLsizei instancecount, GLuint baseinstance);
505 void glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
508 void glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
509 void glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
510 void glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
511 void glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);
512 GLint glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface,
const GLchar *name);
513 GLint glGetProgramResourceLocation(GLuint program, GLenum programInterface,
const GLchar *name);
514 void glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount,
const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);
515 void glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
516 GLuint glGetProgramResourceIndex(GLuint program, GLenum programInterface,
const GLchar *name);
517 void glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params);
518 void glMultiDrawElementsIndirect(GLenum mode, GLenum type,
const void *indirect, GLsizei drawcount, GLsizei stride);
519 void glMultiDrawArraysIndirect(GLenum mode,
const void *indirect, GLsizei drawcount, GLsizei stride);
520 void glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments,
const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
521 void glInvalidateFramebuffer(GLenum target, GLsizei numAttachments,
const GLenum *attachments);
522 void glInvalidateBufferData(GLuint buffer);
523 void glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length);
524 void glInvalidateTexImage(GLuint texture, GLint level);
525 void glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
526 void glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params);
527 void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);
528 void glFramebufferParameteri(GLenum target, GLenum pname, GLint param);
529 void glVertexBindingDivisor(GLuint bindingindex, GLuint divisor);
530 void glVertexAttribBinding(GLuint attribindex, GLuint bindingindex);
531 void glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
532 void glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
533 void glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
534 void glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
535 void glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
536 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);
537 void glDispatchComputeIndirect(GLintptr indirect);
538 void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
539 void glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type,
const void *data);
540 void glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type,
const void *data);
543 friend class QOpenGLVersionFunctionsFactory;
545 static bool isContextCompatible(QOpenGLContext *context);
546 static QOpenGLVersionProfile versionProfile();
548 QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
549 QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
550 QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
551 QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
552 QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
553 QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
554 QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
555 QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
556 QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
557 QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
558 QOpenGLFunctions_3_2_CoreBackend* d_3_2_Core;
559 QOpenGLFunctions_3_3_CoreBackend* d_3_3_Core;
560 QOpenGLFunctions_4_0_CoreBackend* d_4_0_Core;
561 QOpenGLFunctions_4_1_CoreBackend* d_4_1_Core;
562 QOpenGLFunctions_4_2_CoreBackend* d_4_2_Core;
563 QOpenGLFunctions_4_3_CoreBackend* d_4_3_Core;