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