35class Q_OPENGL_EXPORT QOpenGLFunctions_4_2_Core :
public QAbstractOpenGLFunctions
38 QOpenGLFunctions_4_2_Core();
39 ~QOpenGLFunctions_4_2_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 friend class QOpenGLVersionFunctionsFactory;
510 static bool isContextCompatible(QOpenGLContext *context);
511 static QOpenGLVersionProfile versionProfile();
513 QOpenGLFunctions_1_0_CoreBackend* d_1_0_Core;
514 QOpenGLFunctions_1_1_CoreBackend* d_1_1_Core;
515 QOpenGLFunctions_1_2_CoreBackend* d_1_2_Core;
516 QOpenGLFunctions_1_3_CoreBackend* d_1_3_Core;
517 QOpenGLFunctions_1_4_CoreBackend* d_1_4_Core;
518 QOpenGLFunctions_1_5_CoreBackend* d_1_5_Core;
519 QOpenGLFunctions_2_0_CoreBackend* d_2_0_Core;
520 QOpenGLFunctions_2_1_CoreBackend* d_2_1_Core;
521 QOpenGLFunctions_3_0_CoreBackend* d_3_0_Core;
522 QOpenGLFunctions_3_1_CoreBackend* d_3_1_Core;
523 QOpenGLFunctions_3_2_CoreBackend* d_3_2_Core;
524 QOpenGLFunctions_3_3_CoreBackend* d_3_3_Core;
525 QOpenGLFunctions_4_0_CoreBackend* d_4_0_Core;
526 QOpenGLFunctions_4_1_CoreBackend* d_4_1_Core;
527 QOpenGLFunctions_4_2_CoreBackend* d_4_2_Core;