1
2#else
3
4class QOpenGLExtension_OES_EGL_imagePrivate : public QAbstractOpenGLExtensionPrivate
5{
6public:
7    void (QOPENGLF_APIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLeglImageOES image);
8    void (QOPENGLF_APIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLeglImageOES image);
9};
10
11class QOpenGLExtension_OES_EGL_image : public QAbstractOpenGLExtension
12{
13public:
14    QOpenGLExtension_OES_EGL_image();
15
16    bool initializeOpenGLFunctions() Q_DECL_FINAL;
17
18    void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);
19    void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image);
20
21protected:
22    Q_DECLARE_PRIVATE(QOpenGLExtension_OES_EGL_image)
23};
24
25inline void QOpenGLExtension_OES_EGL_image::glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)
26{
27    Q_D(QOpenGLExtension_OES_EGL_image);
28    d->EGLImageTargetTexture2DOES(target, image);
29}
30
31inline void QOpenGLExtension_OES_EGL_image::glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)
32{
33    Q_D(QOpenGLExtension_OES_EGL_image);
34    d->EGLImageTargetRenderbufferStorageOES(target, image);
35}
36
37class QOpenGLExtension_OES_get_program_binaryPrivate : public QAbstractOpenGLExtensionPrivate
38{
39public:
40    void (QOPENGLF_APIENTRYP GetProgramBinaryOES)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
41    void (QOPENGLF_APIENTRYP ProgramBinaryOES)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
42};
43
44class QOpenGLExtension_OES_get_program_binary : public QAbstractOpenGLExtension
45{
46public:
47    QOpenGLExtension_OES_get_program_binary();
48
49    bool initializeOpenGLFunctions() Q_DECL_FINAL;
50
51    void glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
52    void glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
53
54protected:
55    Q_DECLARE_PRIVATE(QOpenGLExtension_OES_get_program_binary)
56};
57
58inline void QOpenGLExtension_OES_get_program_binary::glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary)
59{
60    Q_D(QOpenGLExtension_OES_get_program_binary);
61    d->GetProgramBinaryOES(program, bufSize, length, binaryFormat, binary);
62}
63
64inline void QOpenGLExtension_OES_get_program_binary::glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length)
65{
66    Q_D(QOpenGLExtension_OES_get_program_binary);
67    d->ProgramBinaryOES(program, binaryFormat, binary, length);
68}
69
70class QOpenGLExtension_OES_mapbufferPrivate : public QAbstractOpenGLExtensionPrivate
71{
72public:
73    void* (QOPENGLF_APIENTRYP MapBufferOES)(GLenum target, GLenum access);
74    GLboolean (QOPENGLF_APIENTRYP UnmapBufferOES)(GLenum target);
75    void (QOPENGLF_APIENTRYP GetBufferPointervOES)(GLenum target, GLenum pname, GLvoid** params);
76};
77
78class QOpenGLExtension_OES_mapbuffer : public QAbstractOpenGLExtension
79{
80public:
81    QOpenGLExtension_OES_mapbuffer();
82
83    bool initializeOpenGLFunctions() Q_DECL_FINAL;
84
85    void* glMapBufferOES(GLenum target, GLenum access);
86    GLboolean glUnmapBufferOES(GLenum target);
87    void glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid** params);
88
89protected:
90    Q_DECLARE_PRIVATE(QOpenGLExtension_OES_mapbuffer)
91};
92
93inline void *QOpenGLExtension_OES_mapbuffer::glMapBufferOES(GLenum target, GLenum access)
94{
95    Q_D(QOpenGLExtension_OES_mapbuffer);
96    return d->MapBufferOES(target, access);
97}
98
99inline GLboolean QOpenGLExtension_OES_mapbuffer::glUnmapBufferOES(GLenum target)
100{
101    Q_D(QOpenGLExtension_OES_mapbuffer);
102    return d->UnmapBufferOES(target);
103}
104
105inline void QOpenGLExtension_OES_mapbuffer::glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid** params)
106{
107    Q_D(QOpenGLExtension_OES_mapbuffer);
108    d->GetBufferPointervOES(target, pname, params);
109}
110
111class QOpenGLExtension_OES_texture_3DPrivate : public QAbstractOpenGLExtensionPrivate
112{
113public:
114    void (QOPENGLF_APIENTRYP TexImage3DOES)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
115    void (QOPENGLF_APIENTRYP TexSubImage3DOES)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
116    void (QOPENGLF_APIENTRYP CopyTexSubImage3DOES)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
117    void (QOPENGLF_APIENTRYP CompressedTexImage3DOES)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
118    void (QOPENGLF_APIENTRYP CompressedTexSubImage3DOES)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
119    void (QOPENGLF_APIENTRYP FramebufferTexture3DOES)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
120};
121
122class QOpenGLExtension_OES_texture_3D : public QAbstractOpenGLExtension
123{
124public:
125    QOpenGLExtension_OES_texture_3D();
126
127    bool initializeOpenGLFunctions() Q_DECL_FINAL;
128
129    void glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
130    void glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels);
131    void glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
132    void glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data);
133    void glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data);
134    void glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
135
136protected:
137    Q_DECLARE_PRIVATE(QOpenGLExtension_OES_texture_3D)
138};
139
140inline void QOpenGLExtension_OES_texture_3D::glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels)
141{
142    Q_D(QOpenGLExtension_OES_texture_3D);
143    d->TexImage3DOES(target, level, internalformat, width, height, depth, border, format, type, pixels);
144}
145
146inline void QOpenGLExtension_OES_texture_3D::glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels)
147{
148    Q_D(QOpenGLExtension_OES_texture_3D);
149    d->TexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
150}
151
152inline void QOpenGLExtension_OES_texture_3D::glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
153{
154    Q_D(QOpenGLExtension_OES_texture_3D);
155    d->CopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height);
156}
157
158inline void QOpenGLExtension_OES_texture_3D::glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data)
159{
160    Q_D(QOpenGLExtension_OES_texture_3D);
161    d->CompressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, data);
162}
163
164inline void QOpenGLExtension_OES_texture_3D::glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data)
165{
166    Q_D(QOpenGLExtension_OES_texture_3D);
167    d->CompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
168}
169
170inline void QOpenGLExtension_OES_texture_3D::glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
171{
172    Q_D(QOpenGLExtension_OES_texture_3D);
173    d->FramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset);
174}
175
176class QOpenGLExtension_OES_vertex_array_objectPrivate : public QAbstractOpenGLExtensionPrivate
177{
178public:
179    void (QOPENGLF_APIENTRYP BindVertexArrayOES)(GLuint array);
180    void (QOPENGLF_APIENTRYP DeleteVertexArraysOES)(GLsizei n, const GLuint *arrays);
181    void (QOPENGLF_APIENTRYP GenVertexArraysOES)(GLsizei n, GLuint *arrays);
182    GLboolean (QOPENGLF_APIENTRYP IsVertexArrayOES)(GLuint array);
183};
184
185class QOpenGLExtension_OES_vertex_array_object : public QAbstractOpenGLExtension
186{
187public:
188    QOpenGLExtension_OES_vertex_array_object();
189
190    bool initializeOpenGLFunctions() Q_DECL_FINAL;
191
192    void glBindVertexArrayOES(GLuint array);
193    void glDeleteVertexArraysOES(GLsizei n, const GLuint *arrays);
194    void glGenVertexArraysOES(GLsizei n, GLuint *arrays);
195    GLboolean glIsVertexArrayOES(GLuint array);
196
197protected:
198    Q_DECLARE_PRIVATE(QOpenGLExtension_OES_vertex_array_object)
199};
200
201inline void QOpenGLExtension_OES_vertex_array_object::glBindVertexArrayOES(GLuint array)
202{
203    Q_D(QOpenGLExtension_OES_vertex_array_object);
204    d->BindVertexArrayOES(array);
205}
206
207inline void QOpenGLExtension_OES_vertex_array_object::glDeleteVertexArraysOES(GLsizei n, const GLuint *arrays)
208{
209    Q_D(QOpenGLExtension_OES_vertex_array_object);
210    d->DeleteVertexArraysOES(n, arrays);
211}
212
213inline void QOpenGLExtension_OES_vertex_array_object::glGenVertexArraysOES(GLsizei n, GLuint *arrays)
214{
215    Q_D(QOpenGLExtension_OES_vertex_array_object);
216    d->GenVertexArraysOES(n, arrays);
217}
218
219inline GLboolean QOpenGLExtension_OES_vertex_array_object::glIsVertexArrayOES(GLuint array)
220{
221    Q_D(QOpenGLExtension_OES_vertex_array_object);
222    return d->IsVertexArrayOES(array);
223}
224
225class QOpenGLExtension_AMD_performance_monitorPrivate : public QAbstractOpenGLExtensionPrivate
226{
227public:
228    void (QOPENGLF_APIENTRYP GetPerfMonitorGroupsAMD)(GLint *numGroups, GLsizei groupsSize, GLuint *groups);
229    void (QOPENGLF_APIENTRYP GetPerfMonitorCountersAMD)(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
230    void (QOPENGLF_APIENTRYP GetPerfMonitorGroupStringAMD)(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
231    void (QOPENGLF_APIENTRYP GetPerfMonitorCounterStringAMD)(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
232    void (QOPENGLF_APIENTRYP GetPerfMonitorCounterInfoAMD)(GLuint group, GLuint counter, GLenum pname, GLvoid *data);
233    void (QOPENGLF_APIENTRYP GenPerfMonitorsAMD)(GLsizei n, GLuint *monitors);
234    void (QOPENGLF_APIENTRYP DeletePerfMonitorsAMD)(GLsizei n, GLuint *monitors);
235    void (QOPENGLF_APIENTRYP SelectPerfMonitorCountersAMD)(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
236    void (QOPENGLF_APIENTRYP BeginPerfMonitorAMD)(GLuint monitor);
237    void (QOPENGLF_APIENTRYP EndPerfMonitorAMD)(GLuint monitor);
238    void (QOPENGLF_APIENTRYP GetPerfMonitorCounterDataAMD)(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
239};
240
241class QOpenGLExtension_AMD_performance_monitor : public QAbstractOpenGLExtension
242{
243public:
244    QOpenGLExtension_AMD_performance_monitor();
245
246    bool initializeOpenGLFunctions() Q_DECL_FINAL;
247
248    void glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLuint *groups);
249    void glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
250    void glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
251    void glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
252    void glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid *data);
253    void glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors);
254    void glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors);
255    void glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList);
256    void glBeginPerfMonitorAMD(GLuint monitor);
257    void glEndPerfMonitorAMD(GLuint monitor);
258    void glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
259
260protected:
261    Q_DECLARE_PRIVATE(QOpenGLExtension_AMD_performance_monitor)
262};
263
264inline void QOpenGLExtension_AMD_performance_monitor::glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLuint *groups)
265{
266    Q_D(QOpenGLExtension_AMD_performance_monitor);
267    d->GetPerfMonitorGroupsAMD(numGroups, groupsSize, groups);
268}
269
270inline void QOpenGLExtension_AMD_performance_monitor::glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters)
271{
272    Q_D(QOpenGLExtension_AMD_performance_monitor);
273    d->GetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters);
274}
275
276inline void QOpenGLExtension_AMD_performance_monitor::glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString)
277{
278    Q_D(QOpenGLExtension_AMD_performance_monitor);
279    d->GetPerfMonitorGroupStringAMD(group, bufSize, length, groupString);
280}
281
282inline void QOpenGLExtension_AMD_performance_monitor::glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString)
283{
284    Q_D(QOpenGLExtension_AMD_performance_monitor);
285    d->GetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString);
286}
287
288inline void QOpenGLExtension_AMD_performance_monitor::glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid *data)
289{
290    Q_D(QOpenGLExtension_AMD_performance_monitor);
291    d->GetPerfMonitorCounterInfoAMD(group, counter, pname, data);
292}
293
294inline void QOpenGLExtension_AMD_performance_monitor::glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors)
295{
296    Q_D(QOpenGLExtension_AMD_performance_monitor);
297    d->GenPerfMonitorsAMD(n, monitors);
298}
299
300inline void QOpenGLExtension_AMD_performance_monitor::glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors)
301{
302    Q_D(QOpenGLExtension_AMD_performance_monitor);
303    d->DeletePerfMonitorsAMD(n, monitors);
304}
305
306inline void QOpenGLExtension_AMD_performance_monitor::glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList)
307{
308    Q_D(QOpenGLExtension_AMD_performance_monitor);
309    d->SelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, countersList);
310}
311
312inline void QOpenGLExtension_AMD_performance_monitor::glBeginPerfMonitorAMD(GLuint monitor)
313{
314    Q_D(QOpenGLExtension_AMD_performance_monitor);
315    d->BeginPerfMonitorAMD(monitor);
316}
317
318inline void QOpenGLExtension_AMD_performance_monitor::glEndPerfMonitorAMD(GLuint monitor)
319{
320    Q_D(QOpenGLExtension_AMD_performance_monitor);
321    d->EndPerfMonitorAMD(monitor);
322}
323
324inline void QOpenGLExtension_AMD_performance_monitor::glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten)
325{
326    Q_D(QOpenGLExtension_AMD_performance_monitor);
327    d->GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten);
328}
329
330class QOpenGLExtension_ANGLE_framebuffer_blitPrivate : public QAbstractOpenGLExtensionPrivate
331{
332public:
333    void (QOPENGLF_APIENTRYP BlitFramebufferANGLE)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
334};
335
336class QOpenGLExtension_ANGLE_framebuffer_blit : public QAbstractOpenGLExtension
337{
338public:
339    QOpenGLExtension_ANGLE_framebuffer_blit();
340
341    bool initializeOpenGLFunctions() Q_DECL_FINAL;
342
343    void glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
344
345protected:
346    Q_DECLARE_PRIVATE(QOpenGLExtension_ANGLE_framebuffer_blit)
347};
348
349inline void QOpenGLExtension_ANGLE_framebuffer_blit::glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
350{
351    Q_D(QOpenGLExtension_ANGLE_framebuffer_blit);
352    d->BlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
353}
354
355class QOpenGLExtension_ANGLE_framebuffer_multisamplePrivate : public QAbstractOpenGLExtensionPrivate
356{
357public:
358    void (QOPENGLF_APIENTRYP RenderbufferStorageMultisampleANGLE)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
359};
360
361class QOpenGLExtension_ANGLE_framebuffer_multisample : public QAbstractOpenGLExtension
362{
363public:
364    QOpenGLExtension_ANGLE_framebuffer_multisample();
365
366    bool initializeOpenGLFunctions() Q_DECL_FINAL;
367
368    void glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
369
370protected:
371    Q_DECLARE_PRIVATE(QOpenGLExtension_ANGLE_framebuffer_multisample)
372};
373
374inline void QOpenGLExtension_ANGLE_framebuffer_multisample::glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
375{
376    Q_D(QOpenGLExtension_ANGLE_framebuffer_multisample);
377    d->RenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height);
378}
379
380class QOpenGLExtension_ANGLE_instanced_arraysPrivate : public QAbstractOpenGLExtensionPrivate
381{
382public:
383    void (QOPENGLF_APIENTRYP DrawArraysInstancedANGLE)(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
384    void (QOPENGLF_APIENTRYP DrawElementsInstancedANGLE)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
385    void (QOPENGLF_APIENTRYP VertexAttribDivisorANGLE)(GLuint index, GLuint divisor);
386};
387
388class QOpenGLExtension_ANGLE_instanced_arrays : public QAbstractOpenGLExtension
389{
390public:
391    QOpenGLExtension_ANGLE_instanced_arrays();
392
393    bool initializeOpenGLFunctions() Q_DECL_FINAL;
394
395    void glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
396    void glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
397    void glVertexAttribDivisorANGLE(GLuint index, GLuint divisor);
398
399protected:
400    Q_DECLARE_PRIVATE(QOpenGLExtension_ANGLE_instanced_arrays)
401};
402
403inline void QOpenGLExtension_ANGLE_instanced_arrays::glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount)
404{
405    Q_D(QOpenGLExtension_ANGLE_instanced_arrays);
406    d->DrawArraysInstancedANGLE(mode, first, count, primcount);
407}
408
409inline void QOpenGLExtension_ANGLE_instanced_arrays::glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount)
410{
411    Q_D(QOpenGLExtension_ANGLE_instanced_arrays);
412    d->DrawElementsInstancedANGLE(mode, count, type, indices, primcount);
413}
414
415inline void QOpenGLExtension_ANGLE_instanced_arrays::glVertexAttribDivisorANGLE(GLuint index, GLuint divisor)
416{
417    Q_D(QOpenGLExtension_ANGLE_instanced_arrays);
418    d->VertexAttribDivisorANGLE(index, divisor);
419}
420
421class QOpenGLExtension_ANGLE_translated_shader_sourcePrivate : public QAbstractOpenGLExtensionPrivate
422{
423public:
424    void (QOPENGLF_APIENTRYP GetTranslatedShaderSourceANGLE)(GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
425};
426
427class QOpenGLExtension_ANGLE_translated_shader_source : public QAbstractOpenGLExtension
428{
429public:
430    QOpenGLExtension_ANGLE_translated_shader_source();
431
432    bool initializeOpenGLFunctions() Q_DECL_FINAL;
433
434    void glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
435
436protected:
437    Q_DECLARE_PRIVATE(QOpenGLExtension_ANGLE_translated_shader_source)
438};
439
440inline void QOpenGLExtension_ANGLE_translated_shader_source::glGetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source)
441{
442    Q_D(QOpenGLExtension_ANGLE_translated_shader_source);
443    d->GetTranslatedShaderSourceANGLE(shader, bufsize, length, source);
444}
445
446class QOpenGLExtension_APPLE_framebuffer_multisamplePrivate : public QAbstractOpenGLExtensionPrivate
447{
448public:
449    void (QOPENGLF_APIENTRYP RenderbufferStorageMultisampleAPPLE)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
450    void (QOPENGLF_APIENTRYP ResolveMultisampleFramebufferAPPLE)(void);
451};
452
453class QOpenGLExtension_APPLE_framebuffer_multisample : public QAbstractOpenGLExtension
454{
455public:
456    QOpenGLExtension_APPLE_framebuffer_multisample();
457
458    bool initializeOpenGLFunctions() Q_DECL_FINAL;
459
460    void glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
461    void glResolveMultisampleFramebufferAPPLE(void);
462
463protected:
464    Q_DECLARE_PRIVATE(QOpenGLExtension_APPLE_framebuffer_multisample)
465};
466
467inline void QOpenGLExtension_APPLE_framebuffer_multisample::glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
468{
469    Q_D(QOpenGLExtension_APPLE_framebuffer_multisample);
470    d->RenderbufferStorageMultisampleAPPLE(target, samples, internalformat, width, height);
471}
472
473inline void QOpenGLExtension_APPLE_framebuffer_multisample::glResolveMultisampleFramebufferAPPLE(void)
474{
475    Q_D(QOpenGLExtension_APPLE_framebuffer_multisample);
476    d->ResolveMultisampleFramebufferAPPLE();
477}
478
479class QOpenGLExtension_EXT_debug_labelPrivate : public QAbstractOpenGLExtensionPrivate
480{
481public:
482    void (QOPENGLF_APIENTRYP LabelObjectEXT)(GLenum type, GLuint object, GLsizei length, const GLchar *label);
483    void (QOPENGLF_APIENTRYP GetObjectLabelEXT)(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
484};
485
486class QOpenGLExtension_EXT_debug_label : public QAbstractOpenGLExtension
487{
488public:
489    QOpenGLExtension_EXT_debug_label();
490
491    bool initializeOpenGLFunctions() Q_DECL_FINAL;
492
493    void glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar *label);
494    void glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
495
496protected:
497    Q_DECLARE_PRIVATE(QOpenGLExtension_EXT_debug_label)
498};
499
500inline void QOpenGLExtension_EXT_debug_label::glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar *label)
501{
502    Q_D(QOpenGLExtension_EXT_debug_label);
503    d->LabelObjectEXT(type, object, length, label);
504}
505
506inline void QOpenGLExtension_EXT_debug_label::glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label)
507{
508    Q_D(QOpenGLExtension_EXT_debug_label);
509    d->GetObjectLabelEXT(type, object, bufSize, length, label);
510}
511
512class QOpenGLExtension_EXT_debug_markerPrivate : public QAbstractOpenGLExtensionPrivate
513{
514public:
515    void (QOPENGLF_APIENTRYP InsertEventMarkerEXT)(GLsizei length, const GLchar *marker);
516    void (QOPENGLF_APIENTRYP PushGroupMarkerEXT)(GLsizei length, const GLchar *marker);
517    void (QOPENGLF_APIENTRYP PopGroupMarkerEXT)(void);
518};
519
520class QOpenGLExtension_EXT_debug_marker : public QAbstractOpenGLExtension
521{
522public:
523    QOpenGLExtension_EXT_debug_marker();
524
525    bool initializeOpenGLFunctions() Q_DECL_FINAL;
526
527    void glInsertEventMarkerEXT(GLsizei length, const GLchar *marker);
528    void glPushGroupMarkerEXT(GLsizei length, const GLchar *marker);
529    void glPopGroupMarkerEXT(void);
530
531protected:
532    Q_DECLARE_PRIVATE(QOpenGLExtension_EXT_debug_marker)
533};
534
535inline void QOpenGLExtension_EXT_debug_marker::glInsertEventMarkerEXT(GLsizei length, const GLchar *marker)
536{
537    Q_D(QOpenGLExtension_EXT_debug_marker);
538    d->InsertEventMarkerEXT(length, marker);
539}
540
541inline void QOpenGLExtension_EXT_debug_marker::glPushGroupMarkerEXT(GLsizei length, const GLchar *marker)
542{
543    Q_D(QOpenGLExtension_EXT_debug_marker);
544    d->PushGroupMarkerEXT(length, marker);
545}
546
547inline void QOpenGLExtension_EXT_debug_marker::glPopGroupMarkerEXT(void)
548{
549    Q_D(QOpenGLExtension_EXT_debug_marker);
550    d->PopGroupMarkerEXT();
551}
552
553class QOpenGLExtension_EXT_discard_framebufferPrivate : public QAbstractOpenGLExtensionPrivate
554{
555public:
556    void (QOPENGLF_APIENTRYP DiscardFramebufferEXT)(GLenum target, GLsizei numAttachments, const GLenum *attachments);
557};
558
559class QOpenGLExtension_EXT_discard_framebuffer : public QAbstractOpenGLExtension
560{
561public:
562    QOpenGLExtension_EXT_discard_framebuffer();
563
564    bool initializeOpenGLFunctions() Q_DECL_FINAL;
565
566    void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum *attachments);
567
568protected:
569    Q_DECLARE_PRIVATE(QOpenGLExtension_EXT_discard_framebuffer)
570};
571
572inline void QOpenGLExtension_EXT_discard_framebuffer::glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum *attachments)
573{
574    Q_D(QOpenGLExtension_EXT_discard_framebuffer);
575    d->DiscardFramebufferEXT(target, numAttachments, attachments);
576}
577
578class QOpenGLExtension_EXT_multisampled_render_to_texturePrivate : public QAbstractOpenGLExtensionPrivate
579{
580public:
581    void (QOPENGLF_APIENTRYP RenderbufferStorageMultisampleEXT)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
582    void (QOPENGLF_APIENTRYP FramebufferTexture2DMultisampleEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
583};
584
585class QOpenGLExtension_EXT_multisampled_render_to_texture : public QAbstractOpenGLExtension
586{
587public:
588    QOpenGLExtension_EXT_multisampled_render_to_texture();
589
590    bool initializeOpenGLFunctions() Q_DECL_FINAL;
591
592    void glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
593    void glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
594
595protected:
596    Q_DECLARE_PRIVATE(QOpenGLExtension_EXT_multisampled_render_to_texture)
597};
598
599inline void QOpenGLExtension_EXT_multisampled_render_to_texture::glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
600{
601    Q_D(QOpenGLExtension_EXT_multisampled_render_to_texture);
602    d->RenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height);
603}
604
605inline void QOpenGLExtension_EXT_multisampled_render_to_texture::glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples)
606{
607    Q_D(QOpenGLExtension_EXT_multisampled_render_to_texture);
608    d->FramebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level, samples);
609}
610
611class QOpenGLExtension_EXT_multi_draw_arraysPrivate : public QAbstractOpenGLExtensionPrivate
612{
613public:
614    void (QOPENGLF_APIENTRYP MultiDrawArraysEXT)(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
615    void (QOPENGLF_APIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
616};
617
618class QOpenGLExtension_EXT_multi_draw_arrays : public QAbstractOpenGLExtension
619{
620public:
621    QOpenGLExtension_EXT_multi_draw_arrays();
622
623    bool initializeOpenGLFunctions() Q_DECL_FINAL;
624
625    void glMultiDrawArraysEXT(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
626    void glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
627
628protected:
629    Q_DECLARE_PRIVATE(QOpenGLExtension_EXT_multi_draw_arrays)
630};
631
632inline void QOpenGLExtension_EXT_multi_draw_arrays::glMultiDrawArraysEXT(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount)
633{
634    Q_D(QOpenGLExtension_EXT_multi_draw_arrays);
635    d->MultiDrawArraysEXT(mode, first, count, primcount);
636}
637
638inline void QOpenGLExtension_EXT_multi_draw_arrays::glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount)
639{
640    Q_D(QOpenGLExtension_EXT_multi_draw_arrays);
641    d->MultiDrawElementsEXT(mode, count, type, indices, primcount);
642}
643
644class QOpenGLExtension_EXT_occlusion_query_booleanPrivate : public QAbstractOpenGLExtensionPrivate
645{
646public:
647    void (QOPENGLF_APIENTRYP GenQueriesEXT)(GLsizei n, GLuint *ids);
648    void (QOPENGLF_APIENTRYP DeleteQueriesEXT)(GLsizei n, const GLuint *ids);
649    GLboolean (QOPENGLF_APIENTRYP IsQueryEXT)(GLuint id);
650    void (QOPENGLF_APIENTRYP BeginQueryEXT)(GLenum target, GLuint id);
651    void (QOPENGLF_APIENTRYP EndQueryEXT)(GLenum target);
652    void (QOPENGLF_APIENTRYP GetQueryivEXT)(GLenum target, GLenum pname, GLint *params);
653    void (QOPENGLF_APIENTRYP GetQueryObjectuivEXT)(GLuint id, GLenum pname, GLuint *params);
654};
655
656class QOpenGLExtension_EXT_occlusion_query_boolean : public QAbstractOpenGLExtension
657{
658public:
659    QOpenGLExtension_EXT_occlusion_query_boolean();
660
661    bool initializeOpenGLFunctions() Q_DECL_FINAL;
662
663    void glGenQueriesEXT(GLsizei n, GLuint *ids);
664    void glDeleteQueriesEXT(GLsizei n, const GLuint *ids);
665    GLboolean glIsQueryEXT(GLuint id);
666    void glBeginQueryEXT(GLenum target, GLuint id);
667    void glEndQueryEXT(GLenum target);
668    void glGetQueryivEXT(GLenum target, GLenum pname, GLint *params);
669    void glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params);
670
671protected:
672    Q_DECLARE_PRIVATE(QOpenGLExtension_EXT_occlusion_query_boolean)
673};
674
675inline void QOpenGLExtension_EXT_occlusion_query_boolean::glGenQueriesEXT(GLsizei n, GLuint *ids)
676{
677    Q_D(QOpenGLExtension_EXT_occlusion_query_boolean);
678    d->GenQueriesEXT(n, ids);
679}
680
681inline void QOpenGLExtension_EXT_occlusion_query_boolean::glDeleteQueriesEXT(GLsizei n, const GLuint *ids)
682{
683    Q_D(QOpenGLExtension_EXT_occlusion_query_boolean);
684    d->DeleteQueriesEXT(n, ids);
685}
686
687inline GLboolean QOpenGLExtension_EXT_occlusion_query_boolean::glIsQueryEXT(GLuint id)
688{
689    Q_D(QOpenGLExtension_EXT_occlusion_query_boolean);
690    return d->IsQueryEXT(id);
691}
692
693inline void QOpenGLExtension_EXT_occlusion_query_boolean::glBeginQueryEXT(GLenum target, GLuint id)
694{
695    Q_D(QOpenGLExtension_EXT_occlusion_query_boolean);
696    d->BeginQueryEXT(target, id);
697}
698
699inline void QOpenGLExtension_EXT_occlusion_query_boolean::glEndQueryEXT(GLenum target)
700{
701    Q_D(QOpenGLExtension_EXT_occlusion_query_boolean);
702    d->EndQueryEXT(target);
703}
704
705inline void QOpenGLExtension_EXT_occlusion_query_boolean::glGetQueryivEXT(GLenum target, GLenum pname, GLint *params)
706{
707    Q_D(QOpenGLExtension_EXT_occlusion_query_boolean);
708    d->GetQueryivEXT(target, pname, params);
709}
710
711inline void QOpenGLExtension_EXT_occlusion_query_boolean::glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params)
712{
713    Q_D(QOpenGLExtension_EXT_occlusion_query_boolean);
714    d->GetQueryObjectuivEXT(id, pname, params);
715}
716
717class QOpenGLExtension_EXT_robustnessPrivate : public QAbstractOpenGLExtensionPrivate
718{
719public:
720    GLenum (QOPENGLF_APIENTRYP GetGraphicsResetStatusEXT)(void);
721    void (QOPENGLF_APIENTRYP ReadnPixelsEXT)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
722    void (QOPENGLF_APIENTRYP GetnUniformfvEXT)(GLuint program, GLint location, GLsizei bufSize, float *params);
723    void (QOPENGLF_APIENTRYP GetnUniformivEXT)(GLuint program, GLint location, GLsizei bufSize, GLint *params);
724};
725
726class QOpenGLExtension_EXT_robustness : public QAbstractOpenGLExtension
727{
728public:
729    QOpenGLExtension_EXT_robustness();
730
731    bool initializeOpenGLFunctions() Q_DECL_FINAL;
732
733    GLenum glGetGraphicsResetStatusEXT(void);
734    void glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
735    void glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, float *params);
736    void glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint *params);
737
738protected:
739    Q_DECLARE_PRIVATE(QOpenGLExtension_EXT_robustness)
740};
741
742inline GLenum QOpenGLExtension_EXT_robustness::glGetGraphicsResetStatusEXT(void)
743{
744    Q_D(QOpenGLExtension_EXT_robustness);
745    return d->GetGraphicsResetStatusEXT();
746}
747
748inline void QOpenGLExtension_EXT_robustness::glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data)
749{
750    Q_D(QOpenGLExtension_EXT_robustness);
751    d->ReadnPixelsEXT(x, y, width, height, format, type, bufSize, data);
752}
753
754inline void QOpenGLExtension_EXT_robustness::glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, float *params)
755{
756    Q_D(QOpenGLExtension_EXT_robustness);
757    d->GetnUniformfvEXT(program, location, bufSize, params);
758}
759
760inline void QOpenGLExtension_EXT_robustness::glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint *params)
761{
762    Q_D(QOpenGLExtension_EXT_robustness);
763    d->GetnUniformivEXT(program, location, bufSize, params);
764}
765
766class QOpenGLExtension_EXT_separate_shader_objectsPrivate : public QAbstractOpenGLExtensionPrivate
767{
768public:
769    void (QOPENGLF_APIENTRYP UseProgramStagesEXT)(GLuint pipeline, GLbitfield stages, GLuint program);
770    void (QOPENGLF_APIENTRYP ActiveShaderProgramEXT)(GLuint pipeline, GLuint program);
771    GLuint (QOPENGLF_APIENTRYP CreateShaderProgramvEXT)(GLenum type, GLsizei count, const GLchar **strings);
772    void (QOPENGLF_APIENTRYP BindProgramPipelineEXT)(GLuint pipeline);
773    void (QOPENGLF_APIENTRYP DeleteProgramPipelinesEXT)(GLsizei n, const GLuint *pipelines);
774    void (QOPENGLF_APIENTRYP GenProgramPipelinesEXT)(GLsizei n, GLuint *pipelines);
775    GLboolean (QOPENGLF_APIENTRYP IsProgramPipelineEXT)(GLuint pipeline);
776    void (QOPENGLF_APIENTRYP ProgramParameteriEXT)(GLuint program, GLenum pname, GLint value);
777    void (QOPENGLF_APIENTRYP GetProgramPipelineivEXT)(GLuint pipeline, GLenum pname, GLint *params);
778    void (QOPENGLF_APIENTRYP ProgramUniform1iEXT)(GLuint program, GLint location, GLint x);
779    void (QOPENGLF_APIENTRYP ProgramUniform2iEXT)(GLuint program, GLint location, GLint x, GLint y);
780    void (QOPENGLF_APIENTRYP ProgramUniform3iEXT)(GLuint program, GLint location, GLint x, GLint y, GLint z);
781    void (QOPENGLF_APIENTRYP ProgramUniform4iEXT)(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
782    void (QOPENGLF_APIENTRYP ProgramUniform1fEXT)(GLuint program, GLint location, GLfloat x);
783    void (QOPENGLF_APIENTRYP ProgramUniform2fEXT)(GLuint program, GLint location, GLfloat x, GLfloat y);
784    void (QOPENGLF_APIENTRYP ProgramUniform3fEXT)(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
785    void (QOPENGLF_APIENTRYP ProgramUniform4fEXT)(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
786    void (QOPENGLF_APIENTRYP ProgramUniform1ivEXT)(GLuint program, GLint location, GLsizei count, const GLint *value);
787    void (QOPENGLF_APIENTRYP ProgramUniform2ivEXT)(GLuint program, GLint location, GLsizei count, const GLint *value);
788    void (QOPENGLF_APIENTRYP ProgramUniform3ivEXT)(GLuint program, GLint location, GLsizei count, const GLint *value);
789    void (QOPENGLF_APIENTRYP ProgramUniform4ivEXT)(GLuint program, GLint location, GLsizei count, const GLint *value);
790    void (QOPENGLF_APIENTRYP ProgramUniform1fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat *value);
791    void (QOPENGLF_APIENTRYP ProgramUniform2fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat *value);
792    void (QOPENGLF_APIENTRYP ProgramUniform3fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat *value);
793    void (QOPENGLF_APIENTRYP ProgramUniform4fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat *value);
794    void (QOPENGLF_APIENTRYP ProgramUniformMatrix2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
795    void (QOPENGLF_APIENTRYP ProgramUniformMatrix3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
796    void (QOPENGLF_APIENTRYP ProgramUniformMatrix4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
797    void (QOPENGLF_APIENTRYP ValidateProgramPipelineEXT)(GLuint pipeline);
798    void (QOPENGLF_APIENTRYP GetProgramPipelineInfoLogEXT)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
799};
800
801class QOpenGLExtension_EXT_separate_shader_objects : public QAbstractOpenGLExtension
802{
803public:
804    QOpenGLExtension_EXT_separate_shader_objects();
805
806    bool initializeOpenGLFunctions() Q_DECL_FINAL;
807
808    void glUseProgramStagesEXT(GLuint pipeline, GLbitfield stages, GLuint program);
809    void glActiveShaderProgramEXT(GLuint pipeline, GLuint program);
810    GLuint glCreateShaderProgramvEXT(GLenum type, GLsizei count, const GLchar **strings);
811    void glBindProgramPipelineEXT(GLuint pipeline);
812    void glDeleteProgramPipelinesEXT(GLsizei n, const GLuint *pipelines);
813    void glGenProgramPipelinesEXT(GLsizei n, GLuint *pipelines);
814    GLboolean glIsProgramPipelineEXT(GLuint pipeline);
815    void glProgramParameteriEXT(GLuint program, GLenum pname, GLint value);
816    void glGetProgramPipelineivEXT(GLuint pipeline, GLenum pname, GLint *params);
817    void glProgramUniform1iEXT(GLuint program, GLint location, GLint x);
818    void glProgramUniform2iEXT(GLuint program, GLint location, GLint x, GLint y);
819    void glProgramUniform3iEXT(GLuint program, GLint location, GLint x, GLint y, GLint z);
820    void glProgramUniform4iEXT(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w);
821    void glProgramUniform1fEXT(GLuint program, GLint location, GLfloat x);
822    void glProgramUniform2fEXT(GLuint program, GLint location, GLfloat x, GLfloat y);
823    void glProgramUniform3fEXT(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z);
824    void glProgramUniform4fEXT(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
825    void glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);
826    void glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);
827    void glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);
828    void glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value);
829    void glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);
830    void glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);
831    void glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);
832    void glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value);
833    void glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
834    void glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
835    void glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
836    void glValidateProgramPipelineEXT(GLuint pipeline);
837    void glGetProgramPipelineInfoLogEXT(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
838
839protected:
840    Q_DECLARE_PRIVATE(QOpenGLExtension_EXT_separate_shader_objects)
841};
842
843inline void QOpenGLExtension_EXT_separate_shader_objects::glUseProgramStagesEXT(GLuint pipeline, GLbitfield stages, GLuint program)
844{
845    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
846    d->UseProgramStagesEXT(pipeline, stages, program);
847}
848
849inline void QOpenGLExtension_EXT_separate_shader_objects::glActiveShaderProgramEXT(GLuint pipeline, GLuint program)
850{
851    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
852    d->ActiveShaderProgramEXT(pipeline, program);
853}
854
855inline GLuint QOpenGLExtension_EXT_separate_shader_objects::glCreateShaderProgramvEXT(GLenum type, GLsizei count, const GLchar **strings)
856{
857    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
858    return d->CreateShaderProgramvEXT(type, count, strings);
859}
860
861inline void QOpenGLExtension_EXT_separate_shader_objects::glBindProgramPipelineEXT(GLuint pipeline)
862{
863    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
864    d->BindProgramPipelineEXT(pipeline);
865}
866
867inline void QOpenGLExtension_EXT_separate_shader_objects::glDeleteProgramPipelinesEXT(GLsizei n, const GLuint *pipelines)
868{
869    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
870    d->DeleteProgramPipelinesEXT(n, pipelines);
871}
872
873inline void QOpenGLExtension_EXT_separate_shader_objects::glGenProgramPipelinesEXT(GLsizei n, GLuint *pipelines)
874{
875    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
876    d->GenProgramPipelinesEXT(n, pipelines);
877}
878
879inline GLboolean QOpenGLExtension_EXT_separate_shader_objects::glIsProgramPipelineEXT(GLuint pipeline)
880{
881    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
882    return d->IsProgramPipelineEXT(pipeline);
883}
884
885inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramParameteriEXT(GLuint program, GLenum pname, GLint value)
886{
887    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
888    d->ProgramParameteriEXT(program, pname, value);
889}
890
891inline void QOpenGLExtension_EXT_separate_shader_objects::glGetProgramPipelineivEXT(GLuint pipeline, GLenum pname, GLint *params)
892{
893    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
894    d->GetProgramPipelineivEXT(pipeline, pname, params);
895}
896
897inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform1iEXT(GLuint program, GLint location, GLint x)
898{
899    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
900    d->ProgramUniform1iEXT(program, location, x);
901}
902
903inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform2iEXT(GLuint program, GLint location, GLint x, GLint y)
904{
905    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
906    d->ProgramUniform2iEXT(program, location, x, y);
907}
908
909inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform3iEXT(GLuint program, GLint location, GLint x, GLint y, GLint z)
910{
911    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
912    d->ProgramUniform3iEXT(program, location, x, y, z);
913}
914
915inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform4iEXT(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w)
916{
917    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
918    d->ProgramUniform4iEXT(program, location, x, y, z, w);
919}
920
921inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform1fEXT(GLuint program, GLint location, GLfloat x)
922{
923    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
924    d->ProgramUniform1fEXT(program, location, x);
925}
926
927inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform2fEXT(GLuint program, GLint location, GLfloat x, GLfloat y)
928{
929    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
930    d->ProgramUniform2fEXT(program, location, x, y);
931}
932
933inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform3fEXT(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z)
934{
935    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
936    d->ProgramUniform3fEXT(program, location, x, y, z);
937}
938
939inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform4fEXT(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
940{
941    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
942    d->ProgramUniform4fEXT(program, location, x, y, z, w);
943}
944
945inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value)
946{
947    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
948    d->ProgramUniform1ivEXT(program, location, count, value);
949}
950
951inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value)
952{
953    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
954    d->ProgramUniform2ivEXT(program, location, count, value);
955}
956
957inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value)
958{
959    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
960    d->ProgramUniform3ivEXT(program, location, count, value);
961}
962
963inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value)
964{
965    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
966    d->ProgramUniform4ivEXT(program, location, count, value);
967}
968
969inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value)
970{
971    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
972    d->ProgramUniform1fvEXT(program, location, count, value);
973}
974
975inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value)
976{
977    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
978    d->ProgramUniform2fvEXT(program, location, count, value);
979}
980
981inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value)
982{
983    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
984    d->ProgramUniform3fvEXT(program, location, count, value);
985}
986
987inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value)
988{
989    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
990    d->ProgramUniform4fvEXT(program, location, count, value);
991}
992
993inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
994{
995    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
996    d->ProgramUniformMatrix2fvEXT(program, location, count, transpose, value);
997}
998
999inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1000{
1001    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
1002    d->ProgramUniformMatrix3fvEXT(program, location, count, transpose, value);
1003}
1004
1005inline void QOpenGLExtension_EXT_separate_shader_objects::glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
1006{
1007    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
1008    d->ProgramUniformMatrix4fvEXT(program, location, count, transpose, value);
1009}
1010
1011inline void QOpenGLExtension_EXT_separate_shader_objects::glValidateProgramPipelineEXT(GLuint pipeline)
1012{
1013    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
1014    d->ValidateProgramPipelineEXT(pipeline);
1015}
1016
1017inline void QOpenGLExtension_EXT_separate_shader_objects::glGetProgramPipelineInfoLogEXT(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
1018{
1019    Q_D(QOpenGLExtension_EXT_separate_shader_objects);
1020    d->GetProgramPipelineInfoLogEXT(pipeline, bufSize, length, infoLog);
1021}
1022
1023class QOpenGLExtension_EXT_texture_storagePrivate : public QAbstractOpenGLExtensionPrivate
1024{
1025public:
1026    void (QOPENGLF_APIENTRYP TexStorage1DEXT)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1027    void (QOPENGLF_APIENTRYP TexStorage2DEXT)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1028    void (QOPENGLF_APIENTRYP TexStorage3DEXT)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1029    void (QOPENGLF_APIENTRYP TextureStorage1DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1030    void (QOPENGLF_APIENTRYP TextureStorage2DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1031    void (QOPENGLF_APIENTRYP TextureStorage3DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1032};
1033
1034class QOpenGLExtension_EXT_texture_storage : public QAbstractOpenGLExtension
1035{
1036public:
1037    QOpenGLExtension_EXT_texture_storage();
1038
1039    bool initializeOpenGLFunctions() Q_DECL_FINAL;
1040
1041    void glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1042    void glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1043    void glTexStorage3DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1044    void glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1045    void glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1046    void glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1047
1048protected:
1049    Q_DECLARE_PRIVATE(QOpenGLExtension_EXT_texture_storage)
1050};
1051
1052inline void QOpenGLExtension_EXT_texture_storage::glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)
1053{
1054    Q_D(QOpenGLExtension_EXT_texture_storage);
1055    d->TexStorage1DEXT(target, levels, internalformat, width);
1056}
1057
1058inline void QOpenGLExtension_EXT_texture_storage::glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
1059{
1060    Q_D(QOpenGLExtension_EXT_texture_storage);
1061    d->TexStorage2DEXT(target, levels, internalformat, width, height);
1062}
1063
1064inline void QOpenGLExtension_EXT_texture_storage::glTexStorage3DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
1065{
1066    Q_D(QOpenGLExtension_EXT_texture_storage);
1067    d->TexStorage3DEXT(target, levels, internalformat, width, height, depth);
1068}
1069
1070inline void QOpenGLExtension_EXT_texture_storage::glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)
1071{
1072    Q_D(QOpenGLExtension_EXT_texture_storage);
1073    d->TextureStorage1DEXT(texture, target, levels, internalformat, width);
1074}
1075
1076inline void QOpenGLExtension_EXT_texture_storage::glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
1077{
1078    Q_D(QOpenGLExtension_EXT_texture_storage);
1079    d->TextureStorage2DEXT(texture, target, levels, internalformat, width, height);
1080}
1081
1082inline void QOpenGLExtension_EXT_texture_storage::glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
1083{
1084    Q_D(QOpenGLExtension_EXT_texture_storage);
1085    d->TextureStorage3DEXT(texture, target, levels, internalformat, width, height, depth);
1086}
1087
1088class QOpenGLExtension_IMG_multisampled_render_to_texturePrivate : public QAbstractOpenGLExtensionPrivate
1089{
1090public:
1091    void (QOPENGLF_APIENTRYP RenderbufferStorageMultisampleIMG)(GLenum, GLsizei, GLenum, GLsizei, GLsizei);
1092    void (QOPENGLF_APIENTRYP FramebufferTexture2DMultisampleIMG)(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei);
1093};
1094
1095class QOpenGLExtension_IMG_multisampled_render_to_texture : public QAbstractOpenGLExtension
1096{
1097public:
1098    QOpenGLExtension_IMG_multisampled_render_to_texture();
1099
1100    bool initializeOpenGLFunctions() Q_DECL_FINAL;
1101
1102    void glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1103    void glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1104
1105protected:
1106    Q_DECLARE_PRIVATE(QOpenGLExtension_IMG_multisampled_render_to_texture)
1107};
1108
1109inline void QOpenGLExtension_IMG_multisampled_render_to_texture::glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
1110{
1111    Q_D(QOpenGLExtension_IMG_multisampled_render_to_texture);
1112    d->RenderbufferStorageMultisampleIMG(target, samples, internalformat, width, height);
1113}
1114
1115inline void QOpenGLExtension_IMG_multisampled_render_to_texture::glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples)
1116{
1117    Q_D(QOpenGLExtension_IMG_multisampled_render_to_texture);
1118    d->FramebufferTexture2DMultisampleIMG(target, attachment, textarget, texture, level, samples);
1119}
1120
1121class QOpenGLExtension_NV_coverage_samplePrivate : public QAbstractOpenGLExtensionPrivate
1122{
1123public:
1124    void (QOPENGLF_APIENTRYP CoverageMaskNV)(GLboolean mask);
1125    void (QOPENGLF_APIENTRYP CoverageOperationNV)(GLenum operation);
1126};
1127
1128class QOpenGLExtension_NV_coverage_sample : public QAbstractOpenGLExtension
1129{
1130public:
1131    QOpenGLExtension_NV_coverage_sample();
1132
1133    bool initializeOpenGLFunctions() Q_DECL_FINAL;
1134
1135    void glCoverageMaskNV(GLboolean mask);
1136    void glCoverageOperationNV(GLenum operation);
1137
1138protected:
1139    Q_DECLARE_PRIVATE(QOpenGLExtension_NV_coverage_sample)
1140};
1141
1142inline void QOpenGLExtension_NV_coverage_sample::glCoverageMaskNV(GLboolean mask)
1143{
1144    Q_D(QOpenGLExtension_NV_coverage_sample);
1145    d->CoverageMaskNV(mask);
1146}
1147
1148inline void QOpenGLExtension_NV_coverage_sample::glCoverageOperationNV(GLenum operation)
1149{
1150    Q_D(QOpenGLExtension_NV_coverage_sample);
1151    d->CoverageOperationNV(operation);
1152}
1153
1154class QOpenGLExtension_NV_draw_buffersPrivate : public QAbstractOpenGLExtensionPrivate
1155{
1156public:
1157    void (QOPENGLF_APIENTRYP DrawBuffersNV)(GLsizei n, const GLenum *bufs);
1158};
1159
1160class QOpenGLExtension_NV_draw_buffers : public QAbstractOpenGLExtension
1161{
1162public:
1163    QOpenGLExtension_NV_draw_buffers();
1164
1165    bool initializeOpenGLFunctions() Q_DECL_FINAL;
1166
1167    void glDrawBuffersNV(GLsizei n, const GLenum *bufs);
1168
1169protected:
1170    Q_DECLARE_PRIVATE(QOpenGLExtension_NV_draw_buffers)
1171};
1172
1173inline void QOpenGLExtension_NV_draw_buffers::glDrawBuffersNV(GLsizei n, const GLenum *bufs)
1174{
1175    Q_D(QOpenGLExtension_NV_draw_buffers);
1176    d->DrawBuffersNV(n, bufs);
1177}
1178
1179class QOpenGLExtension_NV_fencePrivate : public QAbstractOpenGLExtensionPrivate
1180{
1181public:
1182    void (QOPENGLF_APIENTRYP DeleteFencesNV)(GLsizei n, const GLuint *fences);
1183    void (QOPENGLF_APIENTRYP GenFencesNV)(GLsizei n, GLuint *fences);
1184    GLboolean (QOPENGLF_APIENTRYP IsFenceNV)(GLuint fence);
1185    GLboolean (QOPENGLF_APIENTRYP TestFenceNV)(GLuint fence);
1186    void (QOPENGLF_APIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint *params);
1187    void (QOPENGLF_APIENTRYP FinishFenceNV)(GLuint fence);
1188    void (QOPENGLF_APIENTRYP SetFenceNV)(GLuint fence, GLenum condition);
1189};
1190
1191class QOpenGLExtension_NV_fence : public QAbstractOpenGLExtension
1192{
1193public:
1194    QOpenGLExtension_NV_fence();
1195
1196    bool initializeOpenGLFunctions() Q_DECL_FINAL;
1197
1198    void glDeleteFencesNV(GLsizei n, const GLuint *fences);
1199    void glGenFencesNV(GLsizei n, GLuint *fences);
1200    GLboolean glIsFenceNV(GLuint fence);
1201    GLboolean glTestFenceNV(GLuint fence);
1202    void glGetFenceivNV(GLuint fence, GLenum pname, GLint *params);
1203    void glFinishFenceNV(GLuint fence);
1204    void glSetFenceNV(GLuint fence, GLenum condition);
1205
1206protected:
1207    Q_DECLARE_PRIVATE(QOpenGLExtension_NV_fence)
1208};
1209
1210inline void QOpenGLExtension_NV_fence::glDeleteFencesNV(GLsizei n, const GLuint *fences)
1211{
1212    Q_D(QOpenGLExtension_NV_fence);
1213    d->DeleteFencesNV(n, fences);
1214}
1215
1216inline void QOpenGLExtension_NV_fence::glGenFencesNV(GLsizei n, GLuint *fences)
1217{
1218    Q_D(QOpenGLExtension_NV_fence);
1219    d->GenFencesNV(n, fences);
1220}
1221
1222inline GLboolean QOpenGLExtension_NV_fence::glIsFenceNV(GLuint fence)
1223{
1224    Q_D(QOpenGLExtension_NV_fence);
1225    return d->IsFenceNV(fence);
1226}
1227
1228inline GLboolean QOpenGLExtension_NV_fence::glTestFenceNV(GLuint fence)
1229{
1230    Q_D(QOpenGLExtension_NV_fence);
1231    return d->TestFenceNV(fence);
1232}
1233
1234inline void QOpenGLExtension_NV_fence::glGetFenceivNV(GLuint fence, GLenum pname, GLint *params)
1235{
1236    Q_D(QOpenGLExtension_NV_fence);
1237    d->GetFenceivNV(fence, pname, params);
1238}
1239
1240inline void QOpenGLExtension_NV_fence::glFinishFenceNV(GLuint fence)
1241{
1242    Q_D(QOpenGLExtension_NV_fence);
1243    d->FinishFenceNV(fence);
1244}
1245
1246inline void QOpenGLExtension_NV_fence::glSetFenceNV(GLuint fence, GLenum condition)
1247{
1248    Q_D(QOpenGLExtension_NV_fence);
1249    d->SetFenceNV(fence, condition);
1250}
1251
1252class QOpenGLExtension_NV_read_bufferPrivate : public QAbstractOpenGLExtensionPrivate
1253{
1254public:
1255    void (QOPENGLF_APIENTRYP ReadBufferNV)(GLenum mode);
1256};
1257
1258class QOpenGLExtension_NV_read_buffer : public QAbstractOpenGLExtension
1259{
1260public:
1261    QOpenGLExtension_NV_read_buffer();
1262
1263    bool initializeOpenGLFunctions() Q_DECL_FINAL;
1264
1265    void glReadBufferNV(GLenum mode);
1266
1267protected:
1268    Q_DECLARE_PRIVATE(QOpenGLExtension_NV_read_buffer)
1269};
1270
1271inline void QOpenGLExtension_NV_read_buffer::glReadBufferNV(GLenum mode)
1272{
1273    Q_D(QOpenGLExtension_NV_read_buffer);
1274    d->ReadBufferNV(mode);
1275}
1276
1277class QOpenGLExtension_QCOM_alpha_testPrivate : public QAbstractOpenGLExtensionPrivate
1278{
1279public:
1280    void (QOPENGLF_APIENTRYP AlphaFuncQCOM)(GLenum func, GLclampf ref);
1281};
1282
1283class QOpenGLExtension_QCOM_alpha_test : public QAbstractOpenGLExtension
1284{
1285public:
1286    QOpenGLExtension_QCOM_alpha_test();
1287
1288    bool initializeOpenGLFunctions() Q_DECL_FINAL;
1289
1290    void glAlphaFuncQCOM(GLenum func, GLclampf ref);
1291
1292protected:
1293    Q_DECLARE_PRIVATE(QOpenGLExtension_QCOM_alpha_test)
1294};
1295
1296inline void QOpenGLExtension_QCOM_alpha_test::glAlphaFuncQCOM(GLenum func, GLclampf ref)
1297{
1298    Q_D(QOpenGLExtension_QCOM_alpha_test);
1299    d->AlphaFuncQCOM(func, ref);
1300}
1301
1302class QOpenGLExtension_QCOM_driver_controlPrivate : public QAbstractOpenGLExtensionPrivate
1303{
1304public:
1305    void (QOPENGLF_APIENTRYP GetDriverControlsQCOM)(GLint *num, GLsizei size, GLuint *driverControls);
1306    void (QOPENGLF_APIENTRYP GetDriverControlStringQCOM)(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1307    void (QOPENGLF_APIENTRYP EnableDriverControlQCOM)(GLuint driverControl);
1308    void (QOPENGLF_APIENTRYP DisableDriverControlQCOM)(GLuint driverControl);
1309};
1310
1311class QOpenGLExtension_QCOM_driver_control : public QAbstractOpenGLExtension
1312{
1313public:
1314    QOpenGLExtension_QCOM_driver_control();
1315
1316    bool initializeOpenGLFunctions() Q_DECL_FINAL;
1317
1318    void glGetDriverControlsQCOM(GLint *num, GLsizei size, GLuint *driverControls);
1319    void glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1320    void glEnableDriverControlQCOM(GLuint driverControl);
1321    void glDisableDriverControlQCOM(GLuint driverControl);
1322
1323protected:
1324    Q_DECLARE_PRIVATE(QOpenGLExtension_QCOM_driver_control)
1325};
1326
1327inline void QOpenGLExtension_QCOM_driver_control::glGetDriverControlsQCOM(GLint *num, GLsizei size, GLuint *driverControls)
1328{
1329    Q_D(QOpenGLExtension_QCOM_driver_control);
1330    d->GetDriverControlsQCOM(num, size, driverControls);
1331}
1332
1333inline void QOpenGLExtension_QCOM_driver_control::glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString)
1334{
1335    Q_D(QOpenGLExtension_QCOM_driver_control);
1336    d->GetDriverControlStringQCOM(driverControl, bufSize, length, driverControlString);
1337}
1338
1339inline void QOpenGLExtension_QCOM_driver_control::glEnableDriverControlQCOM(GLuint driverControl)
1340{
1341    Q_D(QOpenGLExtension_QCOM_driver_control);
1342    d->EnableDriverControlQCOM(driverControl);
1343}
1344
1345inline void QOpenGLExtension_QCOM_driver_control::glDisableDriverControlQCOM(GLuint driverControl)
1346{
1347    Q_D(QOpenGLExtension_QCOM_driver_control);
1348    d->DisableDriverControlQCOM(driverControl);
1349}
1350
1351class QOpenGLExtension_QCOM_extended_getPrivate : public QAbstractOpenGLExtensionPrivate
1352{
1353public:
1354    void (QOPENGLF_APIENTRYP ExtGetTexturesQCOM)(GLuint *textures, GLint maxTextures, GLint *numTextures);
1355    void (QOPENGLF_APIENTRYP ExtGetBuffersQCOM)(GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1356    void (QOPENGLF_APIENTRYP ExtGetRenderbuffersQCOM)(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1357    void (QOPENGLF_APIENTRYP ExtGetFramebuffersQCOM)(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1358    void (QOPENGLF_APIENTRYP ExtGetTexLevelParameterivQCOM)(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1359    void (QOPENGLF_APIENTRYP ExtTexObjectStateOverrideiQCOM)(GLenum target, GLenum pname, GLint param);
1360    void (QOPENGLF_APIENTRYP ExtGetTexSubImageQCOM)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
1361    void (QOPENGLF_APIENTRYP ExtGetBufferPointervQCOM)(GLenum target, GLvoid **params);
1362};
1363
1364class QOpenGLExtension_QCOM_extended_get : public QAbstractOpenGLExtension
1365{
1366public:
1367    QOpenGLExtension_QCOM_extended_get();
1368
1369    bool initializeOpenGLFunctions() Q_DECL_FINAL;
1370
1371    void glExtGetTexturesQCOM(GLuint *textures, GLint maxTextures, GLint *numTextures);
1372    void glExtGetBuffersQCOM(GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1373    void glExtGetRenderbuffersQCOM(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1374    void glExtGetFramebuffersQCOM(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1375    void glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1376    void glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param);
1377    void glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels);
1378    void glExtGetBufferPointervQCOM(GLenum target, GLvoid **params);
1379
1380protected:
1381    Q_DECLARE_PRIVATE(QOpenGLExtension_QCOM_extended_get)
1382};
1383
1384inline void QOpenGLExtension_QCOM_extended_get::glExtGetTexturesQCOM(GLuint *textures, GLint maxTextures, GLint *numTextures)
1385{
1386    Q_D(QOpenGLExtension_QCOM_extended_get);
1387    d->ExtGetTexturesQCOM(textures, maxTextures, numTextures);
1388}
1389
1390inline void QOpenGLExtension_QCOM_extended_get::glExtGetBuffersQCOM(GLuint *buffers, GLint maxBuffers, GLint *numBuffers)
1391{
1392    Q_D(QOpenGLExtension_QCOM_extended_get);
1393    d->ExtGetBuffersQCOM(buffers, maxBuffers, numBuffers);
1394}
1395
1396inline void QOpenGLExtension_QCOM_extended_get::glExtGetRenderbuffersQCOM(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers)
1397{
1398    Q_D(QOpenGLExtension_QCOM_extended_get);
1399    d->ExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, numRenderbuffers);
1400}
1401
1402inline void QOpenGLExtension_QCOM_extended_get::glExtGetFramebuffersQCOM(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers)
1403{
1404    Q_D(QOpenGLExtension_QCOM_extended_get);
1405    d->ExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, numFramebuffers);
1406}
1407
1408inline void QOpenGLExtension_QCOM_extended_get::glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params)
1409{
1410    Q_D(QOpenGLExtension_QCOM_extended_get);
1411    d->ExtGetTexLevelParameterivQCOM(texture, face, level, pname, params);
1412}
1413
1414inline void QOpenGLExtension_QCOM_extended_get::glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param)
1415{
1416    Q_D(QOpenGLExtension_QCOM_extended_get);
1417    d->ExtTexObjectStateOverrideiQCOM(target, pname, param);
1418}
1419
1420inline void QOpenGLExtension_QCOM_extended_get::glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels)
1421{
1422    Q_D(QOpenGLExtension_QCOM_extended_get);
1423    d->ExtGetTexSubImageQCOM(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, texels);
1424}
1425
1426inline void QOpenGLExtension_QCOM_extended_get::glExtGetBufferPointervQCOM(GLenum target, GLvoid **params)
1427{
1428    Q_D(QOpenGLExtension_QCOM_extended_get);
1429    d->ExtGetBufferPointervQCOM(target, params);
1430}
1431
1432class QOpenGLExtension_QCOM_extended_get2Private : public QAbstractOpenGLExtensionPrivate
1433{
1434public:
1435    void (QOPENGLF_APIENTRYP ExtGetShadersQCOM)(GLuint *shaders, GLint maxShaders, GLint *numShaders);
1436    void (QOPENGLF_APIENTRYP ExtGetProgramsQCOM)(GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1437    GLboolean (QOPENGLF_APIENTRYP ExtIsProgramBinaryQCOM)(GLuint program);
1438    void (QOPENGLF_APIENTRYP ExtGetProgramBinarySourceQCOM)(GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1439};
1440
1441class QOpenGLExtension_QCOM_extended_get2 : public QAbstractOpenGLExtension
1442{
1443public:
1444    QOpenGLExtension_QCOM_extended_get2();
1445
1446    bool initializeOpenGLFunctions() Q_DECL_FINAL;
1447
1448    void glExtGetShadersQCOM(GLuint *shaders, GLint maxShaders, GLint *numShaders);
1449    void glExtGetProgramsQCOM(GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1450    GLboolean glExtIsProgramBinaryQCOM(GLuint program);
1451    void glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1452
1453protected:
1454    Q_DECLARE_PRIVATE(QOpenGLExtension_QCOM_extended_get2)
1455};
1456
1457inline void QOpenGLExtension_QCOM_extended_get2::glExtGetShadersQCOM(GLuint *shaders, GLint maxShaders, GLint *numShaders)
1458{
1459    Q_D(QOpenGLExtension_QCOM_extended_get2);
1460    d->ExtGetShadersQCOM(shaders, maxShaders, numShaders);
1461}
1462
1463inline void QOpenGLExtension_QCOM_extended_get2::glExtGetProgramsQCOM(GLuint *programs, GLint maxPrograms, GLint *numPrograms)
1464{
1465    Q_D(QOpenGLExtension_QCOM_extended_get2);
1466    d->ExtGetProgramsQCOM(programs, maxPrograms, numPrograms);
1467}
1468
1469inline GLboolean QOpenGLExtension_QCOM_extended_get2::glExtIsProgramBinaryQCOM(GLuint program)
1470{
1471    Q_D(QOpenGLExtension_QCOM_extended_get2);
1472    return d->ExtIsProgramBinaryQCOM(program);
1473}
1474
1475inline void QOpenGLExtension_QCOM_extended_get2::glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar *source, GLint *length)
1476{
1477    Q_D(QOpenGLExtension_QCOM_extended_get2);
1478    d->ExtGetProgramBinarySourceQCOM(program, shadertype, source, length);
1479}
1480
1481class QOpenGLExtension_QCOM_tiled_renderingPrivate : public QAbstractOpenGLExtensionPrivate
1482{
1483public:
1484    void (QOPENGLF_APIENTRYP StartTilingQCOM)(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1485    void (QOPENGLF_APIENTRYP EndTilingQCOM)(GLbitfield preserveMask);
1486};
1487
1488class QOpenGLExtension_QCOM_tiled_rendering : public QAbstractOpenGLExtension
1489{
1490public:
1491    QOpenGLExtension_QCOM_tiled_rendering();
1492
1493    bool initializeOpenGLFunctions() Q_DECL_FINAL;
1494
1495    void glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1496    void glEndTilingQCOM(GLbitfield preserveMask);
1497
1498protected:
1499    Q_DECLARE_PRIVATE(QOpenGLExtension_QCOM_tiled_rendering)
1500};
1501
1502inline void QOpenGLExtension_QCOM_tiled_rendering::glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask)
1503{
1504    Q_D(QOpenGLExtension_QCOM_tiled_rendering);
1505    d->StartTilingQCOM(x, y, width, height, preserveMask);
1506}
1507
1508inline void QOpenGLExtension_QCOM_tiled_rendering::glEndTilingQCOM(GLbitfield preserveMask)
1509{
1510    Q_D(QOpenGLExtension_QCOM_tiled_rendering);
1511    d->EndTilingQCOM(preserveMask);
1512}
1513
1514#endif
1515
1516QT_END_NAMESPACE
1517
1518#endif // QT_NO_OPENGL
1519
1520#endif
1521