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