1/****************************************************************************
2**
3** Copyright (C) 2016 Klaralvdalens Datakonsult AB (KDAB)
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the QtOpenGLExtensions module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:BSD$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** BSD License Usage
18** Alternatively, you may use this file under the terms of the BSD license
19** as follows:
20**
21** "Redistribution and use in source and binary forms, with or without
22** modification, are permitted provided that the following conditions are
23** met:
24** * Redistributions of source code must retain the above copyright
25** notice, this list of conditions and the following disclaimer.
26** * Redistributions in binary form must reproduce the above copyright
27** notice, this list of conditions and the following disclaimer in
28** the documentation and/or other materials provided with the
29** distribution.
30** * Neither the name of The Qt Company Ltd nor the names of its
31** contributors may be used to endorse or promote products derived
32** from this software without specific prior written permission.
33**
34**
35** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
38** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
39** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
42** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
43** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
44** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
46**
47** $QT_END_LICENSE$
48**
49**
50** This file was generated by glgen version 0.1
51** Command line was: glgen
52**
53** glgen is Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB)
54**
55** This is an auto-generated file.
56** Do not edit! All changes made to it will be lost.
57**
58****************************************************************************/
59
60#ifndef QOPENGLEXTENSIONS_H
61#define QOPENGLEXTENSIONS_H
62
63#include <QtCore/qglobal.h>
64
65#ifndef QT_NO_OPENGL
66
67#include <QtGui/qopengl.h>
68
69QT_BEGIN_NAMESPACE
70
71class QOpenGLContext;
72
73#if 0
74// silence syncqt warnings
75#pragma qt_class(QOpenGLExtensions)
76#pragma qt_sync_stop_processing
77#endif
78
79
80class QAbstractOpenGLExtensionPrivate
81{
82public:
83 QAbstractOpenGLExtensionPrivate() : initialized(false) {}
84 bool initialized;
85};
86
87class QAbstractOpenGLExtension
88{
89public:
90 virtual ~QAbstractOpenGLExtension();
91
92 virtual bool initializeOpenGLFunctions();
93
94 Q_DECLARE_PRIVATE(QAbstractOpenGLExtension)
95
96protected:
97 bool isInitialized() const;
98
99 QAbstractOpenGLExtension() {}
100 QAbstractOpenGLExtension(QAbstractOpenGLExtensionPrivate &dd) : d_ptr(&dd) {}
101 QAbstractOpenGLExtensionPrivate *d_ptr;
102};
103
104#if !defined(QT_OPENGL_ES_2)
105
106class QOpenGLExtension_3DFX_tbufferPrivate : public QAbstractOpenGLExtensionPrivate
107{
108public:
109 void (QOPENGLF_APIENTRYP TbufferMask3DFX)(GLuint mask);
110};
111
112class QOpenGLExtension_3DFX_tbuffer : public QAbstractOpenGLExtension
113{
114public:
115 QOpenGLExtension_3DFX_tbuffer();
116
117 bool initializeOpenGLFunctions() final;
118
119 void glTbufferMask3DFX(GLuint mask);
120
121protected:
122 Q_DECLARE_PRIVATE(QOpenGLExtension_3DFX_tbuffer)
123};
124
125inline void QOpenGLExtension_3DFX_tbuffer::glTbufferMask3DFX(GLuint mask)
126{
127 Q_D(QOpenGLExtension_3DFX_tbuffer);
128 d->TbufferMask3DFX(mask);
129}
130
131class QOpenGLExtension_AMD_debug_outputPrivate : public QAbstractOpenGLExtensionPrivate
132{
133public:
134 GLuint (QOPENGLF_APIENTRYP GetDebugMessageLogAMD)(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);
135 void (QOPENGLF_APIENTRYP DebugMessageCallbackAMD)(GLDEBUGPROCAMD callback, GLvoid *userParam);
136 void (QOPENGLF_APIENTRYP DebugMessageInsertAMD)(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);
137 void (QOPENGLF_APIENTRYP DebugMessageEnableAMD)(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
138};
139
140class QOpenGLExtension_AMD_debug_output : public QAbstractOpenGLExtension
141{
142public:
143 QOpenGLExtension_AMD_debug_output();
144
145 bool initializeOpenGLFunctions() final;
146
147 GLuint glGetDebugMessageLogAMD(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);
148 void glDebugMessageCallbackAMD(GLDEBUGPROCAMD callback, GLvoid *userParam);
149 void glDebugMessageInsertAMD(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);
150 void glDebugMessageEnableAMD(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
151
152protected:
153 Q_DECLARE_PRIVATE(QOpenGLExtension_AMD_debug_output)
154};
155
156inline GLuint QOpenGLExtension_AMD_debug_output::glGetDebugMessageLogAMD(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message)
157{
158 Q_D(QOpenGLExtension_AMD_debug_output);
159 return d->GetDebugMessageLogAMD(count, bufsize, categories, severities, ids, lengths, message);
160}
161
162inline void QOpenGLExtension_AMD_debug_output::glDebugMessageCallbackAMD(GLDEBUGPROCAMD callback, GLvoid *userParam)
163{
164 Q_D(QOpenGLExtension_AMD_debug_output);
165 d->DebugMessageCallbackAMD(callback, userParam);
166}
167
168inline void QOpenGLExtension_AMD_debug_output::glDebugMessageInsertAMD(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf)
169{
170 Q_D(QOpenGLExtension_AMD_debug_output);
171 d->DebugMessageInsertAMD(category, severity, id, length, buf);
172}
173
174inline void QOpenGLExtension_AMD_debug_output::glDebugMessageEnableAMD(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)
175{
176 Q_D(QOpenGLExtension_AMD_debug_output);
177 d->DebugMessageEnableAMD(category, severity, count, ids, enabled);
178}
179
180class QOpenGLExtension_AMD_draw_buffers_blendPrivate : public QAbstractOpenGLExtensionPrivate
181{
182public:
183 void (QOPENGLF_APIENTRYP BlendEquationSeparateIndexedAMD)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
184 void (QOPENGLF_APIENTRYP BlendEquationIndexedAMD)(GLuint buf, GLenum mode);
185 void (QOPENGLF_APIENTRYP BlendFuncSeparateIndexedAMD)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
186 void (QOPENGLF_APIENTRYP BlendFuncIndexedAMD)(GLuint buf, GLenum src, GLenum dst);
187};
188
189class QOpenGLExtension_AMD_draw_buffers_blend : public QAbstractOpenGLExtension
190{
191public:
192 QOpenGLExtension_AMD_draw_buffers_blend();
193
194 bool initializeOpenGLFunctions() final;
195
196 void glBlendEquationSeparateIndexedAMD(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
197 void glBlendEquationIndexedAMD(GLuint buf, GLenum mode);
198 void glBlendFuncSeparateIndexedAMD(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
199 void glBlendFuncIndexedAMD(GLuint buf, GLenum src, GLenum dst);
200
201protected:
202 Q_DECLARE_PRIVATE(QOpenGLExtension_AMD_draw_buffers_blend)
203};
204
205inline void QOpenGLExtension_AMD_draw_buffers_blend::glBlendEquationSeparateIndexedAMD(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
206{
207 Q_D(QOpenGLExtension_AMD_draw_buffers_blend);
208 d->BlendEquationSeparateIndexedAMD(buf, modeRGB, modeAlpha);
209}
210
211inline void QOpenGLExtension_AMD_draw_buffers_blend::glBlendEquationIndexedAMD(GLuint buf, GLenum mode)
212{
213 Q_D(QOpenGLExtension_AMD_draw_buffers_blend);
214 d->BlendEquationIndexedAMD(buf, mode);
215}
216
217inline void QOpenGLExtension_AMD_draw_buffers_blend::glBlendFuncSeparateIndexedAMD(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
218{
219 Q_D(QOpenGLExtension_AMD_draw_buffers_blend);
220 d->BlendFuncSeparateIndexedAMD(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
221}
222
223inline void QOpenGLExtension_AMD_draw_buffers_blend::glBlendFuncIndexedAMD(GLuint buf, GLenum src, GLenum dst)
224{
225 Q_D(QOpenGLExtension_AMD_draw_buffers_blend);
226 d->BlendFuncIndexedAMD(buf, src, dst);
227}
228
229class QOpenGLExtension_AMD_multi_draw_indirectPrivate : public QAbstractOpenGLExtensionPrivate
230{
231public:
232 void (QOPENGLF_APIENTRYP MultiDrawElementsIndirectAMD)(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
233 void (QOPENGLF_APIENTRYP MultiDrawArraysIndirectAMD)(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
234};
235
236class QOpenGLExtension_AMD_multi_draw_indirect : public QAbstractOpenGLExtension
237{
238public:
239 QOpenGLExtension_AMD_multi_draw_indirect();
240
241 bool initializeOpenGLFunctions() final;
242
243 void glMultiDrawElementsIndirectAMD(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
244 void glMultiDrawArraysIndirectAMD(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride);
245
246protected:
247 Q_DECLARE_PRIVATE(QOpenGLExtension_AMD_multi_draw_indirect)
248};
249
250inline void QOpenGLExtension_AMD_multi_draw_indirect::glMultiDrawElementsIndirectAMD(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride)
251{
252 Q_D(QOpenGLExtension_AMD_multi_draw_indirect);
253 d->MultiDrawElementsIndirectAMD(mode, type, indirect, primcount, stride);
254}
255
256inline void QOpenGLExtension_AMD_multi_draw_indirect::glMultiDrawArraysIndirectAMD(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride)
257{
258 Q_D(QOpenGLExtension_AMD_multi_draw_indirect);
259 d->MultiDrawArraysIndirectAMD(mode, indirect, primcount, stride);
260}
261
262class QOpenGLExtension_AMD_name_gen_deletePrivate : public QAbstractOpenGLExtensionPrivate
263{
264public:
265 GLboolean (QOPENGLF_APIENTRYP IsNameAMD)(GLenum identifier, GLuint name);
266 void (QOPENGLF_APIENTRYP DeleteNamesAMD)(GLenum identifier, GLuint num, const GLuint *names);
267 void (QOPENGLF_APIENTRYP GenNamesAMD)(GLenum identifier, GLuint num, GLuint *names);
268};
269
270class QOpenGLExtension_AMD_name_gen_delete : public QAbstractOpenGLExtension
271{
272public:
273 QOpenGLExtension_AMD_name_gen_delete();
274
275 bool initializeOpenGLFunctions() final;
276
277 GLboolean glIsNameAMD(GLenum identifier, GLuint name);
278 void glDeleteNamesAMD(GLenum identifier, GLuint num, const GLuint *names);
279 void glGenNamesAMD(GLenum identifier, GLuint num, GLuint *names);
280
281protected:
282 Q_DECLARE_PRIVATE(QOpenGLExtension_AMD_name_gen_delete)
283};
284
285inline GLboolean QOpenGLExtension_AMD_name_gen_delete::glIsNameAMD(GLenum identifier, GLuint name)
286{
287 Q_D(QOpenGLExtension_AMD_name_gen_delete);
288 return d->IsNameAMD(identifier, name);
289}
290
291inline void QOpenGLExtension_AMD_name_gen_delete::glDeleteNamesAMD(GLenum identifier, GLuint num, const GLuint *names)
292{
293 Q_D(QOpenGLExtension_AMD_name_gen_delete);
294 d->DeleteNamesAMD(identifier, num, names);
295}
296
297inline void QOpenGLExtension_AMD_name_gen_delete::glGenNamesAMD(GLenum identifier, GLuint num, GLuint *names)
298{
299 Q_D(QOpenGLExtension_AMD_name_gen_delete);
300 d->GenNamesAMD(identifier, num, names);
301}
302
303class QOpenGLExtension_AMD_performance_monitorPrivate : public QAbstractOpenGLExtensionPrivate
304{
305public:
306 void (QOPENGLF_APIENTRYP GetPerfMonitorCounterDataAMD)(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
307 void (QOPENGLF_APIENTRYP EndPerfMonitorAMD)(GLuint monitor);
308 void (QOPENGLF_APIENTRYP BeginPerfMonitorAMD)(GLuint monitor);
309 void (QOPENGLF_APIENTRYP SelectPerfMonitorCountersAMD)(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
310 void (QOPENGLF_APIENTRYP DeletePerfMonitorsAMD)(GLsizei n, GLuint *monitors);
311 void (QOPENGLF_APIENTRYP GenPerfMonitorsAMD)(GLsizei n, GLuint *monitors);
312 void (QOPENGLF_APIENTRYP GetPerfMonitorCounterInfoAMD)(GLuint group, GLuint counter, GLenum pname, GLvoid *data);
313 void (QOPENGLF_APIENTRYP GetPerfMonitorCounterStringAMD)(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
314 void (QOPENGLF_APIENTRYP GetPerfMonitorGroupStringAMD)(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
315 void (QOPENGLF_APIENTRYP GetPerfMonitorCountersAMD)(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
316 void (QOPENGLF_APIENTRYP GetPerfMonitorGroupsAMD)(GLint *numGroups, GLsizei groupsSize, GLuint *groups);
317};
318
319class QOpenGLExtension_AMD_performance_monitor : public QAbstractOpenGLExtension
320{
321public:
322 QOpenGLExtension_AMD_performance_monitor();
323
324 bool initializeOpenGLFunctions() final;
325
326 void glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
327 void glEndPerfMonitorAMD(GLuint monitor);
328 void glBeginPerfMonitorAMD(GLuint monitor);
329 void glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
330 void glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors);
331 void glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors);
332 void glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid *data);
333 void glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
334 void glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
335 void glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
336 void glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLuint *groups);
337
338protected:
339 Q_DECLARE_PRIVATE(QOpenGLExtension_AMD_performance_monitor)
340};
341
342inline void QOpenGLExtension_AMD_performance_monitor::glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten)
343{
344 Q_D(QOpenGLExtension_AMD_performance_monitor);
345 d->GetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten);
346}
347
348inline void QOpenGLExtension_AMD_performance_monitor::glEndPerfMonitorAMD(GLuint monitor)
349{
350 Q_D(QOpenGLExtension_AMD_performance_monitor);
351 d->EndPerfMonitorAMD(monitor);
352}
353
354inline void QOpenGLExtension_AMD_performance_monitor::glBeginPerfMonitorAMD(GLuint monitor)
355{
356 Q_D(QOpenGLExtension_AMD_performance_monitor);
357 d->BeginPerfMonitorAMD(monitor);
358}
359
360inline void QOpenGLExtension_AMD_performance_monitor::glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList)
361{
362 Q_D(QOpenGLExtension_AMD_performance_monitor);
363 d->SelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, counterList);
364}
365
366inline void QOpenGLExtension_AMD_performance_monitor::glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors)
367{
368 Q_D(QOpenGLExtension_AMD_performance_monitor);
369 d->DeletePerfMonitorsAMD(n, monitors);
370}
371
372inline void QOpenGLExtension_AMD_performance_monitor::glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors)
373{
374 Q_D(QOpenGLExtension_AMD_performance_monitor);
375 d->GenPerfMonitorsAMD(n, monitors);
376}
377
378inline void QOpenGLExtension_AMD_performance_monitor::glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid *data)
379{
380 Q_D(QOpenGLExtension_AMD_performance_monitor);
381 d->GetPerfMonitorCounterInfoAMD(group, counter, pname, data);
382}
383
384inline void QOpenGLExtension_AMD_performance_monitor::glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString)
385{
386 Q_D(QOpenGLExtension_AMD_performance_monitor);
387 d->GetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString);
388}
389
390inline void QOpenGLExtension_AMD_performance_monitor::glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString)
391{
392 Q_D(QOpenGLExtension_AMD_performance_monitor);
393 d->GetPerfMonitorGroupStringAMD(group, bufSize, length, groupString);
394}
395
396inline void QOpenGLExtension_AMD_performance_monitor::glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters)
397{
398 Q_D(QOpenGLExtension_AMD_performance_monitor);
399 d->GetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters);
400}
401
402inline void QOpenGLExtension_AMD_performance_monitor::glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLuint *groups)
403{
404 Q_D(QOpenGLExtension_AMD_performance_monitor);
405 d->GetPerfMonitorGroupsAMD(numGroups, groupsSize, groups);
406}
407
408class QOpenGLExtension_AMD_sample_positionsPrivate : public QAbstractOpenGLExtensionPrivate
409{
410public:
411 void (QOPENGLF_APIENTRYP SetMultisamplefvAMD)(GLenum pname, GLuint index, const GLfloat *val);
412};
413
414class QOpenGLExtension_AMD_sample_positions : public QAbstractOpenGLExtension
415{
416public:
417 QOpenGLExtension_AMD_sample_positions();
418
419 bool initializeOpenGLFunctions() final;
420
421 void glSetMultisamplefvAMD(GLenum pname, GLuint index, const GLfloat *val);
422
423protected:
424 Q_DECLARE_PRIVATE(QOpenGLExtension_AMD_sample_positions)
425};
426
427inline void QOpenGLExtension_AMD_sample_positions::glSetMultisamplefvAMD(GLenum pname, GLuint index, const GLfloat *val)
428{
429 Q_D(QOpenGLExtension_AMD_sample_positions);
430 d->SetMultisamplefvAMD(pname, index, val);
431}
432
433class QOpenGLExtension_AMD_sparse_texturePrivate : public QAbstractOpenGLExtensionPrivate
434{
435public:
436 void (QOPENGLF_APIENTRYP TexStorageSparseAMD)(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);
437};
438
439class QOpenGLExtension_AMD_sparse_texture : public QAbstractOpenGLExtension
440{
441public:
442 QOpenGLExtension_AMD_sparse_texture();
443
444 bool initializeOpenGLFunctions() final;
445
446 void glTexStorageSparseAMD(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags);
447
448protected:
449 Q_DECLARE_PRIVATE(QOpenGLExtension_AMD_sparse_texture)
450};
451
452inline void QOpenGLExtension_AMD_sparse_texture::glTexStorageSparseAMD(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags)
453{
454 Q_D(QOpenGLExtension_AMD_sparse_texture);
455 d->TexStorageSparseAMD(target, internalFormat, width, height, depth, layers, flags);
456}
457
458class QOpenGLExtension_AMD_stencil_operation_extendedPrivate : public QAbstractOpenGLExtensionPrivate
459{
460public:
461 void (QOPENGLF_APIENTRYP StencilOpValueAMD)(GLenum face, GLuint value);
462};
463
464class QOpenGLExtension_AMD_stencil_operation_extended : public QAbstractOpenGLExtension
465{
466public:
467 QOpenGLExtension_AMD_stencil_operation_extended();
468
469 bool initializeOpenGLFunctions() final;
470
471 void glStencilOpValueAMD(GLenum face, GLuint value);
472
473protected:
474 Q_DECLARE_PRIVATE(QOpenGLExtension_AMD_stencil_operation_extended)
475};
476
477inline void QOpenGLExtension_AMD_stencil_operation_extended::glStencilOpValueAMD(GLenum face, GLuint value)
478{
479 Q_D(QOpenGLExtension_AMD_stencil_operation_extended);
480 d->StencilOpValueAMD(face, value);
481}
482
483class QOpenGLExtension_AMD_vertex_shader_tesselatorPrivate : public QAbstractOpenGLExtensionPrivate
484{
485public:
486 void (QOPENGLF_APIENTRYP TessellationModeAMD)(GLenum mode);
487 void (QOPENGLF_APIENTRYP TessellationFactorAMD)(GLfloat factor);
488};
489
490class QOpenGLExtension_AMD_vertex_shader_tesselator : public QAbstractOpenGLExtension
491{
492public:
493 QOpenGLExtension_AMD_vertex_shader_tesselator();
494
495 bool initializeOpenGLFunctions() final;
496
497 void glTessellationModeAMD(GLenum mode);
498 void glTessellationFactorAMD(GLfloat factor);
499
500protected:
501 Q_DECLARE_PRIVATE(QOpenGLExtension_AMD_vertex_shader_tesselator)
502};
503
504inline void QOpenGLExtension_AMD_vertex_shader_tesselator::glTessellationModeAMD(GLenum mode)
505{
506 Q_D(QOpenGLExtension_AMD_vertex_shader_tesselator);
507 d->TessellationModeAMD(mode);
508}
509
510inline void QOpenGLExtension_AMD_vertex_shader_tesselator::glTessellationFactorAMD(GLfloat factor)
511{
512 Q_D(QOpenGLExtension_AMD_vertex_shader_tesselator);
513 d->TessellationFactorAMD(factor);
514}
515
516class QOpenGLExtension_APPLE_element_arrayPrivate : public QAbstractOpenGLExtensionPrivate
517{
518public:
519 void (QOPENGLF_APIENTRYP MultiDrawRangeElementArrayAPPLE)(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);
520 void (QOPENGLF_APIENTRYP MultiDrawElementArrayAPPLE)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
521 void (QOPENGLF_APIENTRYP DrawRangeElementArrayAPPLE)(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
522 void (QOPENGLF_APIENTRYP DrawElementArrayAPPLE)(GLenum mode, GLint first, GLsizei count);
523 void (QOPENGLF_APIENTRYP ElementPointerAPPLE)(GLenum type, const GLvoid *pointer);
524};
525
526class QOpenGLExtension_APPLE_element_array : public QAbstractOpenGLExtension
527{
528public:
529 QOpenGLExtension_APPLE_element_array();
530
531 bool initializeOpenGLFunctions() final;
532
533 void glMultiDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);
534 void glMultiDrawElementArrayAPPLE(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
535 void glDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
536 void glDrawElementArrayAPPLE(GLenum mode, GLint first, GLsizei count);
537 void glElementPointerAPPLE(GLenum type, const GLvoid *pointer);
538
539protected:
540 Q_DECLARE_PRIVATE(QOpenGLExtension_APPLE_element_array)
541};
542
543inline void QOpenGLExtension_APPLE_element_array::glMultiDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount)
544{
545 Q_D(QOpenGLExtension_APPLE_element_array);
546 d->MultiDrawRangeElementArrayAPPLE(mode, start, end, first, count, primcount);
547}
548
549inline void QOpenGLExtension_APPLE_element_array::glMultiDrawElementArrayAPPLE(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)
550{
551 Q_D(QOpenGLExtension_APPLE_element_array);
552 d->MultiDrawElementArrayAPPLE(mode, first, count, primcount);
553}
554
555inline void QOpenGLExtension_APPLE_element_array::glDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count)
556{
557 Q_D(QOpenGLExtension_APPLE_element_array);
558 d->DrawRangeElementArrayAPPLE(mode, start, end, first, count);
559}
560
561inline void QOpenGLExtension_APPLE_element_array::glDrawElementArrayAPPLE(GLenum mode, GLint first, GLsizei count)
562{
563 Q_D(QOpenGLExtension_APPLE_element_array);
564 d->DrawElementArrayAPPLE(mode, first, count);
565}
566
567inline void QOpenGLExtension_APPLE_element_array::glElementPointerAPPLE(GLenum type, const GLvoid *pointer)
568{
569 Q_D(QOpenGLExtension_APPLE_element_array);
570 d->ElementPointerAPPLE(type, pointer);
571}
572
573class QOpenGLExtension_APPLE_fencePrivate : public QAbstractOpenGLExtensionPrivate
574{
575public:
576 void (QOPENGLF_APIENTRYP FinishObjectAPPLE)(GLenum object, GLint name);
577 GLboolean (QOPENGLF_APIENTRYP TestObjectAPPLE)(GLenum object, GLuint name);
578 void (QOPENGLF_APIENTRYP FinishFenceAPPLE)(GLuint fence);
579 GLboolean (QOPENGLF_APIENTRYP TestFenceAPPLE)(GLuint fence);
580 GLboolean (QOPENGLF_APIENTRYP IsFenceAPPLE)(GLuint fence);
581 void (QOPENGLF_APIENTRYP SetFenceAPPLE)(GLuint fence);
582 void (QOPENGLF_APIENTRYP DeleteFencesAPPLE)(GLsizei n, const GLuint *fences);
583 void (QOPENGLF_APIENTRYP GenFencesAPPLE)(GLsizei n, GLuint *fences);
584};
585
586class QOpenGLExtension_APPLE_fence : public QAbstractOpenGLExtension
587{
588public:
589 QOpenGLExtension_APPLE_fence();
590
591 bool initializeOpenGLFunctions() final;
592
593 void glFinishObjectAPPLE(GLenum object, GLint name);
594 GLboolean glTestObjectAPPLE(GLenum object, GLuint name);
595 void glFinishFenceAPPLE(GLuint fence);
596 GLboolean glTestFenceAPPLE(GLuint fence);
597 GLboolean glIsFenceAPPLE(GLuint fence);
598 void glSetFenceAPPLE(GLuint fence);
599 void glDeleteFencesAPPLE(GLsizei n, const GLuint *fences);
600 void glGenFencesAPPLE(GLsizei n, GLuint *fences);
601
602protected:
603 Q_DECLARE_PRIVATE(QOpenGLExtension_APPLE_fence)
604};
605
606inline void QOpenGLExtension_APPLE_fence::glFinishObjectAPPLE(GLenum object, GLint name)
607{
608 Q_D(QOpenGLExtension_APPLE_fence);
609 d->FinishObjectAPPLE(object, name);
610}
611
612inline GLboolean QOpenGLExtension_APPLE_fence::glTestObjectAPPLE(GLenum object, GLuint name)
613{
614 Q_D(QOpenGLExtension_APPLE_fence);
615 return d->TestObjectAPPLE(object, name);
616}
617
618inline void QOpenGLExtension_APPLE_fence::glFinishFenceAPPLE(GLuint fence)
619{
620 Q_D(QOpenGLExtension_APPLE_fence);
621 d->FinishFenceAPPLE(fence);
622}
623
624inline GLboolean QOpenGLExtension_APPLE_fence::glTestFenceAPPLE(GLuint fence)
625{
626 Q_D(QOpenGLExtension_APPLE_fence);
627 return d->TestFenceAPPLE(fence);
628}
629
630inline GLboolean QOpenGLExtension_APPLE_fence::glIsFenceAPPLE(GLuint fence)
631{
632 Q_D(QOpenGLExtension_APPLE_fence);
633 return d->IsFenceAPPLE(fence);
634}
635
636inline void QOpenGLExtension_APPLE_fence::glSetFenceAPPLE(GLuint fence)
637{
638 Q_D(QOpenGLExtension_APPLE_fence);
639 d->SetFenceAPPLE(fence);
640}
641
642inline void QOpenGLExtension_APPLE_fence::glDeleteFencesAPPLE(GLsizei n, const GLuint *fences)
643{
644 Q_D(QOpenGLExtension_APPLE_fence);
645 d->DeleteFencesAPPLE(n, fences);
646}
647
648inline void QOpenGLExtension_APPLE_fence::glGenFencesAPPLE(GLsizei n, GLuint *fences)
649{
650 Q_D(QOpenGLExtension_APPLE_fence);
651 d->GenFencesAPPLE(n, fences);
652}
653
654class QOpenGLExtension_APPLE_flush_buffer_rangePrivate : public QAbstractOpenGLExtensionPrivate
655{
656public:
657 void (QOPENGLF_APIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size);
658 void (QOPENGLF_APIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param);
659};
660
661class QOpenGLExtension_APPLE_flush_buffer_range : public QAbstractOpenGLExtension
662{
663public:
664 QOpenGLExtension_APPLE_flush_buffer_range();
665
666 bool initializeOpenGLFunctions() final;
667
668 void glFlushMappedBufferRangeAPPLE(GLenum target, GLintptr offset, GLsizeiptr size);
669 void glBufferParameteriAPPLE(GLenum target, GLenum pname, GLint param);
670
671protected:
672 Q_DECLARE_PRIVATE(QOpenGLExtension_APPLE_flush_buffer_range)
673};
674
675inline void QOpenGLExtension_APPLE_flush_buffer_range::glFlushMappedBufferRangeAPPLE(GLenum target, GLintptr offset, GLsizeiptr size)
676{
677 Q_D(QOpenGLExtension_APPLE_flush_buffer_range);
678 d->FlushMappedBufferRangeAPPLE(target, offset, size);
679}
680
681inline void QOpenGLExtension_APPLE_flush_buffer_range::glBufferParameteriAPPLE(GLenum target, GLenum pname, GLint param)
682{
683 Q_D(QOpenGLExtension_APPLE_flush_buffer_range);
684 d->BufferParameteriAPPLE(target, pname, param);
685}
686
687class QOpenGLExtension_APPLE_object_purgeablePrivate : public QAbstractOpenGLExtensionPrivate
688{
689public:
690 void (QOPENGLF_APIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint *params);
691 GLenum (QOPENGLF_APIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option);
692 GLenum (QOPENGLF_APIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option);
693};
694
695class QOpenGLExtension_APPLE_object_purgeable : public QAbstractOpenGLExtension
696{
697public:
698 QOpenGLExtension_APPLE_object_purgeable();
699
700 bool initializeOpenGLFunctions() final;
701
702 void glGetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint *params);
703 GLenum glObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);
704 GLenum glObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option);
705
706protected:
707 Q_DECLARE_PRIVATE(QOpenGLExtension_APPLE_object_purgeable)
708};
709
710inline void QOpenGLExtension_APPLE_object_purgeable::glGetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint *params)
711{
712 Q_D(QOpenGLExtension_APPLE_object_purgeable);
713 d->GetObjectParameterivAPPLE(objectType, name, pname, params);
714}
715
716inline GLenum QOpenGLExtension_APPLE_object_purgeable::glObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option)
717{
718 Q_D(QOpenGLExtension_APPLE_object_purgeable);
719 return d->ObjectUnpurgeableAPPLE(objectType, name, option);
720}
721
722inline GLenum QOpenGLExtension_APPLE_object_purgeable::glObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option)
723{
724 Q_D(QOpenGLExtension_APPLE_object_purgeable);
725 return d->ObjectPurgeableAPPLE(objectType, name, option);
726}
727
728class QOpenGLExtension_APPLE_texture_rangePrivate : public QAbstractOpenGLExtensionPrivate
729{
730public:
731 void (QOPENGLF_APIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid* *params);
732 void (QOPENGLF_APIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, const GLvoid *pointer);
733};
734
735class QOpenGLExtension_APPLE_texture_range : public QAbstractOpenGLExtension
736{
737public:
738 QOpenGLExtension_APPLE_texture_range();
739
740 bool initializeOpenGLFunctions() final;
741
742 void glGetTexParameterPointervAPPLE(GLenum target, GLenum pname, GLvoid* *params);
743 void glTextureRangeAPPLE(GLenum target, GLsizei length, const GLvoid *pointer);
744
745protected:
746 Q_DECLARE_PRIVATE(QOpenGLExtension_APPLE_texture_range)
747};
748
749inline void QOpenGLExtension_APPLE_texture_range::glGetTexParameterPointervAPPLE(GLenum target, GLenum pname, GLvoid* *params)
750{
751 Q_D(QOpenGLExtension_APPLE_texture_range);
752 d->GetTexParameterPointervAPPLE(target, pname, params);
753}
754
755inline void QOpenGLExtension_APPLE_texture_range::glTextureRangeAPPLE(GLenum target, GLsizei length, const GLvoid *pointer)
756{
757 Q_D(QOpenGLExtension_APPLE_texture_range);
758 d->TextureRangeAPPLE(target, length, pointer);
759}
760
761class QOpenGLExtension_APPLE_vertex_array_objectPrivate : public QAbstractOpenGLExtensionPrivate
762{
763public:
764 GLboolean (QOPENGLF_APIENTRYP IsVertexArrayAPPLE)(GLuint array);
765 void (QOPENGLF_APIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint *arrays);
766 void (QOPENGLF_APIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint *arrays);
767 void (QOPENGLF_APIENTRYP BindVertexArrayAPPLE)(GLuint array);
768};
769
770class QOpenGLExtension_APPLE_vertex_array_object : public QAbstractOpenGLExtension
771{
772public:
773 QOpenGLExtension_APPLE_vertex_array_object();
774
775 bool initializeOpenGLFunctions() final;
776
777 GLboolean glIsVertexArrayAPPLE(GLuint array);
778 void glGenVertexArraysAPPLE(GLsizei n, GLuint *arrays);
779 void glDeleteVertexArraysAPPLE(GLsizei n, const GLuint *arrays);
780 void glBindVertexArrayAPPLE(GLuint array);
781
782protected:
783 Q_DECLARE_PRIVATE(QOpenGLExtension_APPLE_vertex_array_object)
784};
785
786inline GLboolean QOpenGLExtension_APPLE_vertex_array_object::glIsVertexArrayAPPLE(GLuint array)
787{
788 Q_D(QOpenGLExtension_APPLE_vertex_array_object);
789 return d->IsVertexArrayAPPLE(array);
790}
791
792inline void QOpenGLExtension_APPLE_vertex_array_object::glGenVertexArraysAPPLE(GLsizei n, GLuint *arrays)
793{
794 Q_D(QOpenGLExtension_APPLE_vertex_array_object);
795 d->GenVertexArraysAPPLE(n, arrays);
796}
797
798inline void QOpenGLExtension_APPLE_vertex_array_object::glDeleteVertexArraysAPPLE(GLsizei n, const GLuint *arrays)
799{
800 Q_D(QOpenGLExtension_APPLE_vertex_array_object);
801 d->DeleteVertexArraysAPPLE(n, arrays);
802}
803
804inline void QOpenGLExtension_APPLE_vertex_array_object::glBindVertexArrayAPPLE(GLuint array)
805{
806 Q_D(QOpenGLExtension_APPLE_vertex_array_object);
807 d->BindVertexArrayAPPLE(array);
808}
809
810class QOpenGLExtension_APPLE_vertex_array_rangePrivate : public QAbstractOpenGLExtensionPrivate
811{
812public:
813 void (QOPENGLF_APIENTRYP VertexArrayParameteriAPPLE)(GLenum pname, GLint param);
814 void (QOPENGLF_APIENTRYP FlushVertexArrayRangeAPPLE)(GLsizei length, GLvoid *pointer);
815 void (QOPENGLF_APIENTRYP VertexArrayRangeAPPLE)(GLsizei length, GLvoid *pointer);
816};
817
818class QOpenGLExtension_APPLE_vertex_array_range : public QAbstractOpenGLExtension
819{
820public:
821 QOpenGLExtension_APPLE_vertex_array_range();
822
823 bool initializeOpenGLFunctions() final;
824
825 void glVertexArrayParameteriAPPLE(GLenum pname, GLint param);
826 void glFlushVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer);
827 void glVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer);
828
829protected:
830 Q_DECLARE_PRIVATE(QOpenGLExtension_APPLE_vertex_array_range)
831};
832
833inline void QOpenGLExtension_APPLE_vertex_array_range::glVertexArrayParameteriAPPLE(GLenum pname, GLint param)
834{
835 Q_D(QOpenGLExtension_APPLE_vertex_array_range);
836 d->VertexArrayParameteriAPPLE(pname, param);
837}
838
839inline void QOpenGLExtension_APPLE_vertex_array_range::glFlushVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer)
840{
841 Q_D(QOpenGLExtension_APPLE_vertex_array_range);
842 d->FlushVertexArrayRangeAPPLE(length, pointer);
843}
844
845inline void QOpenGLExtension_APPLE_vertex_array_range::glVertexArrayRangeAPPLE(GLsizei length, GLvoid *pointer)
846{
847 Q_D(QOpenGLExtension_APPLE_vertex_array_range);
848 d->VertexArrayRangeAPPLE(length, pointer);
849}
850
851class QOpenGLExtension_APPLE_vertex_program_evaluatorsPrivate : public QAbstractOpenGLExtensionPrivate
852{
853public:
854 void (QOPENGLF_APIENTRYP MapVertexAttrib2fAPPLE)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
855 void (QOPENGLF_APIENTRYP MapVertexAttrib2dAPPLE)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
856 void (QOPENGLF_APIENTRYP MapVertexAttrib1fAPPLE)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
857 void (QOPENGLF_APIENTRYP MapVertexAttrib1dAPPLE)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
858 GLboolean (QOPENGLF_APIENTRYP IsVertexAttribEnabledAPPLE)(GLuint index, GLenum pname);
859 void (QOPENGLF_APIENTRYP DisableVertexAttribAPPLE)(GLuint index, GLenum pname);
860 void (QOPENGLF_APIENTRYP EnableVertexAttribAPPLE)(GLuint index, GLenum pname);
861};
862
863class QOpenGLExtension_APPLE_vertex_program_evaluators : public QAbstractOpenGLExtension
864{
865public:
866 QOpenGLExtension_APPLE_vertex_program_evaluators();
867
868 bool initializeOpenGLFunctions() final;
869
870 void glMapVertexAttrib2fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
871 void glMapVertexAttrib2dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
872 void glMapVertexAttrib1fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
873 void glMapVertexAttrib1dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
874 GLboolean glIsVertexAttribEnabledAPPLE(GLuint index, GLenum pname);
875 void glDisableVertexAttribAPPLE(GLuint index, GLenum pname);
876 void glEnableVertexAttribAPPLE(GLuint index, GLenum pname);
877
878protected:
879 Q_DECLARE_PRIVATE(QOpenGLExtension_APPLE_vertex_program_evaluators)
880};
881
882inline void QOpenGLExtension_APPLE_vertex_program_evaluators::glMapVertexAttrib2fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)
883{
884 Q_D(QOpenGLExtension_APPLE_vertex_program_evaluators);
885 d->MapVertexAttrib2fAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);
886}
887
888inline void QOpenGLExtension_APPLE_vertex_program_evaluators::glMapVertexAttrib2dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)
889{
890 Q_D(QOpenGLExtension_APPLE_vertex_program_evaluators);
891 d->MapVertexAttrib2dAPPLE(index, size, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);
892}
893
894inline void QOpenGLExtension_APPLE_vertex_program_evaluators::glMapVertexAttrib1fAPPLE(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)
895{
896 Q_D(QOpenGLExtension_APPLE_vertex_program_evaluators);
897 d->MapVertexAttrib1fAPPLE(index, size, u1, u2, stride, order, points);
898}
899
900inline void QOpenGLExtension_APPLE_vertex_program_evaluators::glMapVertexAttrib1dAPPLE(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)
901{
902 Q_D(QOpenGLExtension_APPLE_vertex_program_evaluators);
903 d->MapVertexAttrib1dAPPLE(index, size, u1, u2, stride, order, points);
904}
905
906inline GLboolean QOpenGLExtension_APPLE_vertex_program_evaluators::glIsVertexAttribEnabledAPPLE(GLuint index, GLenum pname)
907{
908 Q_D(QOpenGLExtension_APPLE_vertex_program_evaluators);
909 return d->IsVertexAttribEnabledAPPLE(index, pname);
910}
911
912inline void QOpenGLExtension_APPLE_vertex_program_evaluators::glDisableVertexAttribAPPLE(GLuint index, GLenum pname)
913{
914 Q_D(QOpenGLExtension_APPLE_vertex_program_evaluators);
915 d->DisableVertexAttribAPPLE(index, pname);
916}
917
918inline void QOpenGLExtension_APPLE_vertex_program_evaluators::glEnableVertexAttribAPPLE(GLuint index, GLenum pname)
919{
920 Q_D(QOpenGLExtension_APPLE_vertex_program_evaluators);
921 d->EnableVertexAttribAPPLE(index, pname);
922}
923
924class QOpenGLExtension_ARB_ES2_compatibilityPrivate : public QAbstractOpenGLExtensionPrivate
925{
926public:
927 void (QOPENGLF_APIENTRYP ClearDepthf)(GLfloat dd);
928 void (QOPENGLF_APIENTRYP DepthRangef)(GLfloat n, GLfloat f);
929 void (QOPENGLF_APIENTRYP GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
930 void (QOPENGLF_APIENTRYP ShaderBinary)(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
931 void (QOPENGLF_APIENTRYP ReleaseShaderCompiler)();
932};
933
934class QOpenGLExtension_ARB_ES2_compatibility : public QAbstractOpenGLExtension
935{
936public:
937 QOpenGLExtension_ARB_ES2_compatibility();
938
939 bool initializeOpenGLFunctions() final;
940
941 void glClearDepthf(GLfloat dd);
942 void glDepthRangef(GLfloat n, GLfloat f);
943 void glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
944 void glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
945 void glReleaseShaderCompiler();
946
947protected:
948 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_ES2_compatibility)
949};
950
951inline void QOpenGLExtension_ARB_ES2_compatibility::glClearDepthf(GLfloat dd)
952{
953 Q_D(QOpenGLExtension_ARB_ES2_compatibility);
954 d->ClearDepthf(dd);
955}
956
957inline void QOpenGLExtension_ARB_ES2_compatibility::glDepthRangef(GLfloat n, GLfloat f)
958{
959 Q_D(QOpenGLExtension_ARB_ES2_compatibility);
960 d->DepthRangef(n, f);
961}
962
963inline void QOpenGLExtension_ARB_ES2_compatibility::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)
964{
965 Q_D(QOpenGLExtension_ARB_ES2_compatibility);
966 d->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
967}
968
969inline void QOpenGLExtension_ARB_ES2_compatibility::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length)
970{
971 Q_D(QOpenGLExtension_ARB_ES2_compatibility);
972 d->ShaderBinary(count, shaders, binaryformat, binary, length);
973}
974
975inline void QOpenGLExtension_ARB_ES2_compatibility::glReleaseShaderCompiler()
976{
977 Q_D(QOpenGLExtension_ARB_ES2_compatibility);
978 d->ReleaseShaderCompiler();
979}
980
981class QOpenGLExtension_ARB_base_instancePrivate : public QAbstractOpenGLExtensionPrivate
982{
983public:
984 void (QOPENGLF_APIENTRYP DrawElementsInstancedBaseVertexBaseInstance)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
985 void (QOPENGLF_APIENTRYP DrawElementsInstancedBaseInstance)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
986 void (QOPENGLF_APIENTRYP DrawArraysInstancedBaseInstance)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
987};
988
989class QOpenGLExtension_ARB_base_instance : public QAbstractOpenGLExtension
990{
991public:
992 QOpenGLExtension_ARB_base_instance();
993
994 bool initializeOpenGLFunctions() final;
995
996 void glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
997 void glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance);
998 void glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
999
1000protected:
1001 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_base_instance)
1002};
1003
1004inline void QOpenGLExtension_ARB_base_instance::glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance)
1005{
1006 Q_D(QOpenGLExtension_ARB_base_instance);
1007 d->DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance);
1008}
1009
1010inline void QOpenGLExtension_ARB_base_instance::glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance)
1011{
1012 Q_D(QOpenGLExtension_ARB_base_instance);
1013 d->DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance);
1014}
1015
1016inline void QOpenGLExtension_ARB_base_instance::glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance)
1017{
1018 Q_D(QOpenGLExtension_ARB_base_instance);
1019 d->DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance);
1020}
1021
1022class QOpenGLExtension_ARB_blend_func_extendedPrivate : public QAbstractOpenGLExtensionPrivate
1023{
1024public:
1025 GLint (QOPENGLF_APIENTRYP GetFragDataIndex)(GLuint program, const GLchar *name);
1026 void (QOPENGLF_APIENTRYP BindFragDataLocationIndexed)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
1027};
1028
1029class QOpenGLExtension_ARB_blend_func_extended : public QAbstractOpenGLExtension
1030{
1031public:
1032 QOpenGLExtension_ARB_blend_func_extended();
1033
1034 bool initializeOpenGLFunctions() final;
1035
1036 GLint glGetFragDataIndex(GLuint program, const GLchar *name);
1037 void glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name);
1038
1039protected:
1040 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_blend_func_extended)
1041};
1042
1043inline GLint QOpenGLExtension_ARB_blend_func_extended::glGetFragDataIndex(GLuint program, const GLchar *name)
1044{
1045 Q_D(QOpenGLExtension_ARB_blend_func_extended);
1046 return d->GetFragDataIndex(program, name);
1047}
1048
1049inline void QOpenGLExtension_ARB_blend_func_extended::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name)
1050{
1051 Q_D(QOpenGLExtension_ARB_blend_func_extended);
1052 d->BindFragDataLocationIndexed(program, colorNumber, index, name);
1053}
1054
1055class QOpenGLExtension_ARB_cl_eventPrivate : public QAbstractOpenGLExtensionPrivate
1056{
1057public:
1058 GLsync (QOPENGLF_APIENTRYP CreateSyncFromCLeventARB)(struct _cl_context * context, struct _cl_event * event, GLbitfield flags);
1059};
1060
1061class QOpenGLExtension_ARB_cl_event : public QAbstractOpenGLExtension
1062{
1063public:
1064 QOpenGLExtension_ARB_cl_event();
1065
1066 bool initializeOpenGLFunctions() final;
1067
1068 GLsync glCreateSyncFromCLeventARB(struct _cl_context * context, struct _cl_event * event, GLbitfield flags);
1069
1070protected:
1071 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_cl_event)
1072};
1073
1074inline GLsync QOpenGLExtension_ARB_cl_event::glCreateSyncFromCLeventARB(struct _cl_context * context, struct _cl_event * event, GLbitfield flags)
1075{
1076 Q_D(QOpenGLExtension_ARB_cl_event);
1077 return d->CreateSyncFromCLeventARB(context, event, flags);
1078}
1079
1080class QOpenGLExtension_ARB_clear_buffer_objectPrivate : public QAbstractOpenGLExtensionPrivate
1081{
1082public:
1083 void (QOPENGLF_APIENTRYP ClearBufferSubData)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
1084 void (QOPENGLF_APIENTRYP ClearBufferData)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
1085};
1086
1087class QOpenGLExtension_ARB_clear_buffer_object : public QAbstractOpenGLExtension
1088{
1089public:
1090 QOpenGLExtension_ARB_clear_buffer_object();
1091
1092 bool initializeOpenGLFunctions() final;
1093
1094 void glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
1095 void glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
1096
1097protected:
1098 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_clear_buffer_object)
1099};
1100
1101inline void QOpenGLExtension_ARB_clear_buffer_object::glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)
1102{
1103 Q_D(QOpenGLExtension_ARB_clear_buffer_object);
1104 d->ClearBufferSubData(target, internalformat, offset, size, format, type, data);
1105}
1106
1107inline void QOpenGLExtension_ARB_clear_buffer_object::glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data)
1108{
1109 Q_D(QOpenGLExtension_ARB_clear_buffer_object);
1110 d->ClearBufferData(target, internalformat, format, type, data);
1111}
1112
1113class QOpenGLExtension_ARB_color_buffer_floatPrivate : public QAbstractOpenGLExtensionPrivate
1114{
1115public:
1116 void (QOPENGLF_APIENTRYP ClampColorARB)(GLenum target, GLenum clamp);
1117};
1118
1119class QOpenGLExtension_ARB_color_buffer_float : public QAbstractOpenGLExtension
1120{
1121public:
1122 QOpenGLExtension_ARB_color_buffer_float();
1123
1124 bool initializeOpenGLFunctions() final;
1125
1126 void glClampColorARB(GLenum target, GLenum clamp);
1127
1128protected:
1129 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_color_buffer_float)
1130};
1131
1132inline void QOpenGLExtension_ARB_color_buffer_float::glClampColorARB(GLenum target, GLenum clamp)
1133{
1134 Q_D(QOpenGLExtension_ARB_color_buffer_float);
1135 d->ClampColorARB(target, clamp);
1136}
1137
1138class QOpenGLExtension_ARB_compute_shaderPrivate : public QAbstractOpenGLExtensionPrivate
1139{
1140public:
1141 void (QOPENGLF_APIENTRYP DispatchComputeIndirect)(GLintptr indirect);
1142 void (QOPENGLF_APIENTRYP DispatchCompute)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
1143};
1144
1145class QOpenGLExtension_ARB_compute_shader : public QAbstractOpenGLExtension
1146{
1147public:
1148 QOpenGLExtension_ARB_compute_shader();
1149
1150 bool initializeOpenGLFunctions() final;
1151
1152 void glDispatchComputeIndirect(GLintptr indirect);
1153 void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
1154
1155protected:
1156 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_compute_shader)
1157};
1158
1159inline void QOpenGLExtension_ARB_compute_shader::glDispatchComputeIndirect(GLintptr indirect)
1160{
1161 Q_D(QOpenGLExtension_ARB_compute_shader);
1162 d->DispatchComputeIndirect(indirect);
1163}
1164
1165inline void QOpenGLExtension_ARB_compute_shader::glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)
1166{
1167 Q_D(QOpenGLExtension_ARB_compute_shader);
1168 d->DispatchCompute(num_groups_x, num_groups_y, num_groups_z);
1169}
1170
1171class QOpenGLExtension_ARB_copy_bufferPrivate : public QAbstractOpenGLExtensionPrivate
1172{
1173public:
1174 void (QOPENGLF_APIENTRYP CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1175};
1176
1177class QOpenGLExtension_ARB_copy_buffer : public QAbstractOpenGLExtension
1178{
1179public:
1180 QOpenGLExtension_ARB_copy_buffer();
1181
1182 bool initializeOpenGLFunctions() final;
1183
1184 void glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1185
1186protected:
1187 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_copy_buffer)
1188};
1189
1190inline void QOpenGLExtension_ARB_copy_buffer::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
1191{
1192 Q_D(QOpenGLExtension_ARB_copy_buffer);
1193 d->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
1194}
1195
1196class QOpenGLExtension_ARB_copy_imagePrivate : public QAbstractOpenGLExtensionPrivate
1197{
1198public:
1199 void (QOPENGLF_APIENTRYP CopyImageSubData)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
1200};
1201
1202class QOpenGLExtension_ARB_copy_image : public QAbstractOpenGLExtension
1203{
1204public:
1205 QOpenGLExtension_ARB_copy_image();
1206
1207 bool initializeOpenGLFunctions() final;
1208
1209 void glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
1210
1211protected:
1212 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_copy_image)
1213};
1214
1215inline void QOpenGLExtension_ARB_copy_image::glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth)
1216{
1217 Q_D(QOpenGLExtension_ARB_copy_image);
1218 d->CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
1219}
1220
1221class QOpenGLExtension_ARB_debug_outputPrivate : public QAbstractOpenGLExtensionPrivate
1222{
1223public:
1224 GLuint (QOPENGLF_APIENTRYP GetDebugMessageLogARB)(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
1225 void (QOPENGLF_APIENTRYP DebugMessageCallbackARB)(GLDEBUGPROCARB callback, const GLvoid *userParam);
1226 void (QOPENGLF_APIENTRYP DebugMessageInsertARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
1227 void (QOPENGLF_APIENTRYP DebugMessageControlARB)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
1228};
1229
1230class QOpenGLExtension_ARB_debug_output : public QAbstractOpenGLExtension
1231{
1232public:
1233 QOpenGLExtension_ARB_debug_output();
1234
1235 bool initializeOpenGLFunctions() final;
1236
1237 GLuint glGetDebugMessageLogARB(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
1238 void glDebugMessageCallbackARB(GLDEBUGPROCARB callback, const GLvoid *userParam);
1239 void glDebugMessageInsertARB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
1240 void glDebugMessageControlARB(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
1241
1242protected:
1243 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_debug_output)
1244};
1245
1246inline GLuint QOpenGLExtension_ARB_debug_output::glGetDebugMessageLogARB(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)
1247{
1248 Q_D(QOpenGLExtension_ARB_debug_output);
1249 return d->GetDebugMessageLogARB(count, bufsize, sources, types, ids, severities, lengths, messageLog);
1250}
1251
1252inline void QOpenGLExtension_ARB_debug_output::glDebugMessageCallbackARB(GLDEBUGPROCARB callback, const GLvoid *userParam)
1253{
1254 Q_D(QOpenGLExtension_ARB_debug_output);
1255 d->DebugMessageCallbackARB(callback, userParam);
1256}
1257
1258inline void QOpenGLExtension_ARB_debug_output::glDebugMessageInsertARB(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)
1259{
1260 Q_D(QOpenGLExtension_ARB_debug_output);
1261 d->DebugMessageInsertARB(source, type, id, severity, length, buf);
1262}
1263
1264inline void QOpenGLExtension_ARB_debug_output::glDebugMessageControlARB(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)
1265{
1266 Q_D(QOpenGLExtension_ARB_debug_output);
1267 d->DebugMessageControlARB(source, type, severity, count, ids, enabled);
1268}
1269
1270class QOpenGLExtension_ARB_draw_buffersPrivate : public QAbstractOpenGLExtensionPrivate
1271{
1272public:
1273 void (QOPENGLF_APIENTRYP DrawBuffersARB)(GLsizei n, const GLenum *bufs);
1274};
1275
1276class QOpenGLExtension_ARB_draw_buffers : public QAbstractOpenGLExtension
1277{
1278public:
1279 QOpenGLExtension_ARB_draw_buffers();
1280
1281 bool initializeOpenGLFunctions() final;
1282
1283 void glDrawBuffersARB(GLsizei n, const GLenum *bufs);
1284
1285protected:
1286 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_draw_buffers)
1287};
1288
1289inline void QOpenGLExtension_ARB_draw_buffers::glDrawBuffersARB(GLsizei n, const GLenum *bufs)
1290{
1291 Q_D(QOpenGLExtension_ARB_draw_buffers);
1292 d->DrawBuffersARB(n, bufs);
1293}
1294
1295class QOpenGLExtension_ARB_draw_buffers_blendPrivate : public QAbstractOpenGLExtensionPrivate
1296{
1297public:
1298 void (QOPENGLF_APIENTRYP BlendFuncSeparateiARB)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
1299 void (QOPENGLF_APIENTRYP BlendFunciARB)(GLuint buf, GLenum src, GLenum dst);
1300 void (QOPENGLF_APIENTRYP BlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
1301 void (QOPENGLF_APIENTRYP BlendEquationiARB)(GLuint buf, GLenum mode);
1302};
1303
1304class QOpenGLExtension_ARB_draw_buffers_blend : public QAbstractOpenGLExtension
1305{
1306public:
1307 QOpenGLExtension_ARB_draw_buffers_blend();
1308
1309 bool initializeOpenGLFunctions() final;
1310
1311 void glBlendFuncSeparateiARB(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
1312 void glBlendFunciARB(GLuint buf, GLenum src, GLenum dst);
1313 void glBlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
1314 void glBlendEquationiARB(GLuint buf, GLenum mode);
1315
1316protected:
1317 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_draw_buffers_blend)
1318};
1319
1320inline void QOpenGLExtension_ARB_draw_buffers_blend::glBlendFuncSeparateiARB(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
1321{
1322 Q_D(QOpenGLExtension_ARB_draw_buffers_blend);
1323 d->BlendFuncSeparateiARB(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
1324}
1325
1326inline void QOpenGLExtension_ARB_draw_buffers_blend::glBlendFunciARB(GLuint buf, GLenum src, GLenum dst)
1327{
1328 Q_D(QOpenGLExtension_ARB_draw_buffers_blend);
1329 d->BlendFunciARB(buf, src, dst);
1330}
1331
1332inline void QOpenGLExtension_ARB_draw_buffers_blend::glBlendEquationSeparateiARB(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
1333{
1334 Q_D(QOpenGLExtension_ARB_draw_buffers_blend);
1335 d->BlendEquationSeparateiARB(buf, modeRGB, modeAlpha);
1336}
1337
1338inline void QOpenGLExtension_ARB_draw_buffers_blend::glBlendEquationiARB(GLuint buf, GLenum mode)
1339{
1340 Q_D(QOpenGLExtension_ARB_draw_buffers_blend);
1341 d->BlendEquationiARB(buf, mode);
1342}
1343
1344class QOpenGLExtension_ARB_draw_elements_base_vertexPrivate : public QAbstractOpenGLExtensionPrivate
1345{
1346public:
1347 void (QOPENGLF_APIENTRYP MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex);
1348 void (QOPENGLF_APIENTRYP DrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex);
1349 void (QOPENGLF_APIENTRYP DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
1350 void (QOPENGLF_APIENTRYP DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
1351};
1352
1353class QOpenGLExtension_ARB_draw_elements_base_vertex : public QAbstractOpenGLExtension
1354{
1355public:
1356 QOpenGLExtension_ARB_draw_elements_base_vertex();
1357
1358 bool initializeOpenGLFunctions() final;
1359
1360 void glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex);
1361 void glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex);
1362 void glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
1363 void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
1364
1365protected:
1366 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_draw_elements_base_vertex)
1367};
1368
1369inline void QOpenGLExtension_ARB_draw_elements_base_vertex::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex)
1370{
1371 Q_D(QOpenGLExtension_ARB_draw_elements_base_vertex);
1372 d->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);
1373}
1374
1375inline void QOpenGLExtension_ARB_draw_elements_base_vertex::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex)
1376{
1377 Q_D(QOpenGLExtension_ARB_draw_elements_base_vertex);
1378 d->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
1379}
1380
1381inline void QOpenGLExtension_ARB_draw_elements_base_vertex::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)
1382{
1383 Q_D(QOpenGLExtension_ARB_draw_elements_base_vertex);
1384 d->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
1385}
1386
1387inline void QOpenGLExtension_ARB_draw_elements_base_vertex::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)
1388{
1389 Q_D(QOpenGLExtension_ARB_draw_elements_base_vertex);
1390 d->DrawElementsBaseVertex(mode, count, type, indices, basevertex);
1391}
1392
1393class QOpenGLExtension_ARB_draw_indirectPrivate : public QAbstractOpenGLExtensionPrivate
1394{
1395public:
1396 void (QOPENGLF_APIENTRYP DrawElementsIndirect)(GLenum mode, GLenum type, const GLvoid *indirect);
1397 void (QOPENGLF_APIENTRYP DrawArraysIndirect)(GLenum mode, const GLvoid *indirect);
1398};
1399
1400class QOpenGLExtension_ARB_draw_indirect : public QAbstractOpenGLExtension
1401{
1402public:
1403 QOpenGLExtension_ARB_draw_indirect();
1404
1405 bool initializeOpenGLFunctions() final;
1406
1407 void glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect);
1408 void glDrawArraysIndirect(GLenum mode, const GLvoid *indirect);
1409
1410protected:
1411 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_draw_indirect)
1412};
1413
1414inline void QOpenGLExtension_ARB_draw_indirect::glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect)
1415{
1416 Q_D(QOpenGLExtension_ARB_draw_indirect);
1417 d->DrawElementsIndirect(mode, type, indirect);
1418}
1419
1420inline void QOpenGLExtension_ARB_draw_indirect::glDrawArraysIndirect(GLenum mode, const GLvoid *indirect)
1421{
1422 Q_D(QOpenGLExtension_ARB_draw_indirect);
1423 d->DrawArraysIndirect(mode, indirect);
1424}
1425
1426class QOpenGLExtension_ARB_draw_instancedPrivate : public QAbstractOpenGLExtensionPrivate
1427{
1428public:
1429 void (QOPENGLF_APIENTRYP DrawElementsInstancedARB)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
1430 void (QOPENGLF_APIENTRYP DrawArraysInstancedARB)(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
1431};
1432
1433class QOpenGLExtension_ARB_draw_instanced : public QAbstractOpenGLExtension
1434{
1435public:
1436 QOpenGLExtension_ARB_draw_instanced();
1437
1438 bool initializeOpenGLFunctions() final;
1439
1440 void glDrawElementsInstancedARB(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
1441 void glDrawArraysInstancedARB(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
1442
1443protected:
1444 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_draw_instanced)
1445};
1446
1447inline void QOpenGLExtension_ARB_draw_instanced::glDrawElementsInstancedARB(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount)
1448{
1449 Q_D(QOpenGLExtension_ARB_draw_instanced);
1450 d->DrawElementsInstancedARB(mode, count, type, indices, primcount);
1451}
1452
1453inline void QOpenGLExtension_ARB_draw_instanced::glDrawArraysInstancedARB(GLenum mode, GLint first, GLsizei count, GLsizei primcount)
1454{
1455 Q_D(QOpenGLExtension_ARB_draw_instanced);
1456 d->DrawArraysInstancedARB(mode, first, count, primcount);
1457}
1458
1459class QOpenGLExtension_ARB_framebuffer_no_attachmentsPrivate : public QAbstractOpenGLExtensionPrivate
1460{
1461public:
1462 void (QOPENGLF_APIENTRYP GetFramebufferParameteriv)(GLenum target, GLenum pname, GLint *params);
1463 void (QOPENGLF_APIENTRYP FramebufferParameteri)(GLenum target, GLenum pname, GLint param);
1464};
1465
1466class QOpenGLExtension_ARB_framebuffer_no_attachments : public QAbstractOpenGLExtension
1467{
1468public:
1469 QOpenGLExtension_ARB_framebuffer_no_attachments();
1470
1471 bool initializeOpenGLFunctions() final;
1472
1473 void glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params);
1474 void glFramebufferParameteri(GLenum target, GLenum pname, GLint param);
1475
1476protected:
1477 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_framebuffer_no_attachments)
1478};
1479
1480inline void QOpenGLExtension_ARB_framebuffer_no_attachments::glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params)
1481{
1482 Q_D(QOpenGLExtension_ARB_framebuffer_no_attachments);
1483 d->GetFramebufferParameteriv(target, pname, params);
1484}
1485
1486inline void QOpenGLExtension_ARB_framebuffer_no_attachments::glFramebufferParameteri(GLenum target, GLenum pname, GLint param)
1487{
1488 Q_D(QOpenGLExtension_ARB_framebuffer_no_attachments);
1489 d->FramebufferParameteri(target, pname, param);
1490}
1491
1492class QOpenGLExtension_ARB_framebuffer_objectPrivate : public QAbstractOpenGLExtensionPrivate
1493{
1494public:
1495 void (QOPENGLF_APIENTRYP FramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1496 void (QOPENGLF_APIENTRYP RenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1497 void (QOPENGLF_APIENTRYP BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1498 void (QOPENGLF_APIENTRYP GenerateMipmap)(GLenum target);
1499 void (QOPENGLF_APIENTRYP GetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint *params);
1500 void (QOPENGLF_APIENTRYP FramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
1501 void (QOPENGLF_APIENTRYP FramebufferTexture3D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
1502 void (QOPENGLF_APIENTRYP FramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
1503 void (QOPENGLF_APIENTRYP FramebufferTexture1D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
1504 GLenum (QOPENGLF_APIENTRYP CheckFramebufferStatus)(GLenum target);
1505 void (QOPENGLF_APIENTRYP GenFramebuffers)(GLsizei n, GLuint *framebuffers);
1506 void (QOPENGLF_APIENTRYP DeleteFramebuffers)(GLsizei n, const GLuint *framebuffers);
1507 void (QOPENGLF_APIENTRYP BindFramebuffer)(GLenum target, GLuint framebuffer);
1508 GLboolean (QOPENGLF_APIENTRYP IsFramebuffer)(GLuint framebuffer);
1509 void (QOPENGLF_APIENTRYP GetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint *params);
1510 void (QOPENGLF_APIENTRYP RenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
1511 void (QOPENGLF_APIENTRYP GenRenderbuffers)(GLsizei n, GLuint *renderbuffers);
1512 void (QOPENGLF_APIENTRYP DeleteRenderbuffers)(GLsizei n, const GLuint *renderbuffers);
1513 void (QOPENGLF_APIENTRYP BindRenderbuffer)(GLenum target, GLuint renderbuffer);
1514 GLboolean (QOPENGLF_APIENTRYP IsRenderbuffer)(GLuint renderbuffer);
1515};
1516
1517class QOpenGLExtension_ARB_framebuffer_object : public QAbstractOpenGLExtension
1518{
1519public:
1520 QOpenGLExtension_ARB_framebuffer_object();
1521
1522 bool initializeOpenGLFunctions() final;
1523
1524 void glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1525 void glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1526 void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1527 void glGenerateMipmap(GLenum target);
1528 void glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
1529 void glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
1530 void glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
1531 void glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
1532 void glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
1533 GLenum glCheckFramebufferStatus(GLenum target);
1534 void glGenFramebuffers(GLsizei n, GLuint *framebuffers);
1535 void glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
1536 void glBindFramebuffer(GLenum target, GLuint framebuffer);
1537 GLboolean glIsFramebuffer(GLuint framebuffer);
1538 void glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
1539 void glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
1540 void glGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
1541 void glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
1542 void glBindRenderbuffer(GLenum target, GLuint renderbuffer);
1543 GLboolean glIsRenderbuffer(GLuint renderbuffer);
1544
1545protected:
1546 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_framebuffer_object)
1547};
1548
1549inline void QOpenGLExtension_ARB_framebuffer_object::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
1550{
1551 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1552 d->FramebufferTextureLayer(target, attachment, texture, level, layer);
1553}
1554
1555inline void QOpenGLExtension_ARB_framebuffer_object::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
1556{
1557 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1558 d->RenderbufferStorageMultisample(target, samples, internalformat, width, height);
1559}
1560
1561inline void QOpenGLExtension_ARB_framebuffer_object::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
1562{
1563 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1564 d->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
1565}
1566
1567inline void QOpenGLExtension_ARB_framebuffer_object::glGenerateMipmap(GLenum target)
1568{
1569 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1570 d->GenerateMipmap(target);
1571}
1572
1573inline void QOpenGLExtension_ARB_framebuffer_object::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params)
1574{
1575 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1576 d->GetFramebufferAttachmentParameteriv(target, attachment, pname, params);
1577}
1578
1579inline void QOpenGLExtension_ARB_framebuffer_object::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
1580{
1581 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1582 d->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
1583}
1584
1585inline void QOpenGLExtension_ARB_framebuffer_object::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
1586{
1587 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1588 d->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
1589}
1590
1591inline void QOpenGLExtension_ARB_framebuffer_object::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1592{
1593 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1594 d->FramebufferTexture2D(target, attachment, textarget, texture, level);
1595}
1596
1597inline void QOpenGLExtension_ARB_framebuffer_object::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
1598{
1599 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1600 d->FramebufferTexture1D(target, attachment, textarget, texture, level);
1601}
1602
1603inline GLenum QOpenGLExtension_ARB_framebuffer_object::glCheckFramebufferStatus(GLenum target)
1604{
1605 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1606 return d->CheckFramebufferStatus(target);
1607}
1608
1609inline void QOpenGLExtension_ARB_framebuffer_object::glGenFramebuffers(GLsizei n, GLuint *framebuffers)
1610{
1611 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1612 d->GenFramebuffers(n, framebuffers);
1613}
1614
1615inline void QOpenGLExtension_ARB_framebuffer_object::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
1616{
1617 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1618 d->DeleteFramebuffers(n, framebuffers);
1619}
1620
1621inline void QOpenGLExtension_ARB_framebuffer_object::glBindFramebuffer(GLenum target, GLuint framebuffer)
1622{
1623 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1624 d->BindFramebuffer(target, framebuffer);
1625}
1626
1627inline GLboolean QOpenGLExtension_ARB_framebuffer_object::glIsFramebuffer(GLuint framebuffer)
1628{
1629 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1630 return d->IsFramebuffer(framebuffer);
1631}
1632
1633inline void QOpenGLExtension_ARB_framebuffer_object::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
1634{
1635 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1636 d->GetRenderbufferParameteriv(target, pname, params);
1637}
1638
1639inline void QOpenGLExtension_ARB_framebuffer_object::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
1640{
1641 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1642 d->RenderbufferStorage(target, internalformat, width, height);
1643}
1644
1645inline void QOpenGLExtension_ARB_framebuffer_object::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
1646{
1647 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1648 d->GenRenderbuffers(n, renderbuffers);
1649}
1650
1651inline void QOpenGLExtension_ARB_framebuffer_object::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers)
1652{
1653 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1654 d->DeleteRenderbuffers(n, renderbuffers);
1655}
1656
1657inline void QOpenGLExtension_ARB_framebuffer_object::glBindRenderbuffer(GLenum target, GLuint renderbuffer)
1658{
1659 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1660 d->BindRenderbuffer(target, renderbuffer);
1661}
1662
1663inline GLboolean QOpenGLExtension_ARB_framebuffer_object::glIsRenderbuffer(GLuint renderbuffer)
1664{
1665 Q_D(QOpenGLExtension_ARB_framebuffer_object);
1666 return d->IsRenderbuffer(renderbuffer);
1667}
1668
1669class QOpenGLExtension_ARB_geometry_shader4Private : public QAbstractOpenGLExtensionPrivate
1670{
1671public:
1672 void (QOPENGLF_APIENTRYP FramebufferTextureFaceARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
1673 void (QOPENGLF_APIENTRYP FramebufferTextureLayerARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1674 void (QOPENGLF_APIENTRYP FramebufferTextureARB)(GLenum target, GLenum attachment, GLuint texture, GLint level);
1675 void (QOPENGLF_APIENTRYP ProgramParameteriARB)(GLuint program, GLenum pname, GLint value);
1676};
1677
1678class QOpenGLExtension_ARB_geometry_shader4 : public QAbstractOpenGLExtension
1679{
1680public:
1681 QOpenGLExtension_ARB_geometry_shader4();
1682
1683 bool initializeOpenGLFunctions() final;
1684
1685 void glFramebufferTextureFaceARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
1686 void glFramebufferTextureLayerARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
1687 void glFramebufferTextureARB(GLenum target, GLenum attachment, GLuint texture, GLint level);
1688 void glProgramParameteriARB(GLuint program, GLenum pname, GLint value);
1689
1690protected:
1691 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_geometry_shader4)
1692};
1693
1694inline void QOpenGLExtension_ARB_geometry_shader4::glFramebufferTextureFaceARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)
1695{
1696 Q_D(QOpenGLExtension_ARB_geometry_shader4);
1697 d->FramebufferTextureFaceARB(target, attachment, texture, level, face);
1698}
1699
1700inline void QOpenGLExtension_ARB_geometry_shader4::glFramebufferTextureLayerARB(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
1701{
1702 Q_D(QOpenGLExtension_ARB_geometry_shader4);
1703 d->FramebufferTextureLayerARB(target, attachment, texture, level, layer);
1704}
1705
1706inline void QOpenGLExtension_ARB_geometry_shader4::glFramebufferTextureARB(GLenum target, GLenum attachment, GLuint texture, GLint level)
1707{
1708 Q_D(QOpenGLExtension_ARB_geometry_shader4);
1709 d->FramebufferTextureARB(target, attachment, texture, level);
1710}
1711
1712inline void QOpenGLExtension_ARB_geometry_shader4::glProgramParameteriARB(GLuint program, GLenum pname, GLint value)
1713{
1714 Q_D(QOpenGLExtension_ARB_geometry_shader4);
1715 d->ProgramParameteriARB(program, pname, value);
1716}
1717
1718class QOpenGLExtension_ARB_get_program_binaryPrivate : public QAbstractOpenGLExtensionPrivate
1719{
1720public:
1721 void (QOPENGLF_APIENTRYP ProgramParameteri)(GLuint program, GLenum pname, GLint value);
1722 void (QOPENGLF_APIENTRYP ProgramBinary)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
1723 void (QOPENGLF_APIENTRYP GetProgramBinary)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
1724};
1725
1726class QOpenGLExtension_ARB_get_program_binary : public QAbstractOpenGLExtension
1727{
1728public:
1729 QOpenGLExtension_ARB_get_program_binary();
1730
1731 bool initializeOpenGLFunctions() final;
1732
1733 void glProgramParameteri(GLuint program, GLenum pname, GLint value);
1734 void glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length);
1735 void glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
1736
1737protected:
1738 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_get_program_binary)
1739};
1740
1741inline void QOpenGLExtension_ARB_get_program_binary::glProgramParameteri(GLuint program, GLenum pname, GLint value)
1742{
1743 Q_D(QOpenGLExtension_ARB_get_program_binary);
1744 d->ProgramParameteri(program, pname, value);
1745}
1746
1747inline void QOpenGLExtension_ARB_get_program_binary::glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length)
1748{
1749 Q_D(QOpenGLExtension_ARB_get_program_binary);
1750 d->ProgramBinary(program, binaryFormat, binary, length);
1751}
1752
1753inline void QOpenGLExtension_ARB_get_program_binary::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary)
1754{
1755 Q_D(QOpenGLExtension_ARB_get_program_binary);
1756 d->GetProgramBinary(program, bufSize, length, binaryFormat, binary);
1757}
1758
1759class QOpenGLExtension_ARB_gpu_shader_fp64Private : public QAbstractOpenGLExtensionPrivate
1760{
1761public:
1762 void (QOPENGLF_APIENTRYP GetUniformdv)(GLuint program, GLint location, GLdouble *params);
1763 void (QOPENGLF_APIENTRYP UniformMatrix4x3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1764 void (QOPENGLF_APIENTRYP UniformMatrix4x2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1765 void (QOPENGLF_APIENTRYP UniformMatrix3x4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1766 void (QOPENGLF_APIENTRYP UniformMatrix3x2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1767 void (QOPENGLF_APIENTRYP UniformMatrix2x4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1768 void (QOPENGLF_APIENTRYP UniformMatrix2x3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1769 void (QOPENGLF_APIENTRYP UniformMatrix4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1770 void (QOPENGLF_APIENTRYP UniformMatrix3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1771 void (QOPENGLF_APIENTRYP UniformMatrix2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1772 void (QOPENGLF_APIENTRYP Uniform4dv)(GLint location, GLsizei count, const GLdouble *value);
1773 void (QOPENGLF_APIENTRYP Uniform3dv)(GLint location, GLsizei count, const GLdouble *value);
1774 void (QOPENGLF_APIENTRYP Uniform2dv)(GLint location, GLsizei count, const GLdouble *value);
1775 void (QOPENGLF_APIENTRYP Uniform1dv)(GLint location, GLsizei count, const GLdouble *value);
1776 void (QOPENGLF_APIENTRYP Uniform4d)(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1777 void (QOPENGLF_APIENTRYP Uniform3d)(GLint location, GLdouble x, GLdouble y, GLdouble z);
1778 void (QOPENGLF_APIENTRYP Uniform2d)(GLint location, GLdouble x, GLdouble y);
1779 void (QOPENGLF_APIENTRYP Uniform1d)(GLint location, GLdouble x);
1780};
1781
1782class QOpenGLExtension_ARB_gpu_shader_fp64 : public QAbstractOpenGLExtension
1783{
1784public:
1785 QOpenGLExtension_ARB_gpu_shader_fp64();
1786
1787 bool initializeOpenGLFunctions() final;
1788
1789 void glGetUniformdv(GLuint program, GLint location, GLdouble *params);
1790 void glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1791 void glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1792 void glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1793 void glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1794 void glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1795 void glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1796 void glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1797 void glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1798 void glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
1799 void glUniform4dv(GLint location, GLsizei count, const GLdouble *value);
1800 void glUniform3dv(GLint location, GLsizei count, const GLdouble *value);
1801 void glUniform2dv(GLint location, GLsizei count, const GLdouble *value);
1802 void glUniform1dv(GLint location, GLsizei count, const GLdouble *value);
1803 void glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1804 void glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z);
1805 void glUniform2d(GLint location, GLdouble x, GLdouble y);
1806 void glUniform1d(GLint location, GLdouble x);
1807
1808protected:
1809 Q_DECLARE_PRIVATE(QOpenGLExtension_ARB_gpu_shader_fp64)
1810};
1811
1812inline void QOpenGLExtension_ARB_gpu_shader_fp64::glGetUniformdv(GLuint program, GLint location, GLdouble *params)
1813{
1814 Q_D(QOpenGLExtension_ARB_gpu_shader_fp64);
1815 d->GetUniformdv(program, location, params);
1816}
1817
1818inline void QOpenGLExtension_ARB_gpu_shader_fp64::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
1819{
1820 Q_D(QOpenGLExtension_ARB_gpu_shader_fp64);
1821 d->UniformMatrix4x3dv(location, count, transpose, value);
1822}
1823
1824inline void QOpenGLExtension_ARB_gpu_shader_fp64::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
1825{
1826 Q_D(QOpenGLExtension_ARB_gpu_shader_fp64);
1827 d->UniformMatrix4x2dv(location, count, transpose, value);
1828}
1829
1830inline void QOpenGLExtension_ARB_gpu_shader_fp64::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
1831{
1832 Q_D(QOpenGLExtension_ARB_gpu_shader_fp64);
1833 d->UniformMatrix3x4dv(location, count, transpose, value);
1834}
1835
1836inline void QOpenGLExtension_ARB_gpu_shader_fp64::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
1837{
1838 Q_D(QOpenGLExtension_ARB_gpu_shader_fp64);
1839 d->UniformMatrix3x2dv(location, count, transpose, value);
1840}
1841
1842inline void QOpenGLExtension_ARB_gpu_shader_fp64::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
1843{
1844 Q_D(QOpenGLExtension_ARB_gpu_shader_fp64);
1845 d->UniformMatrix2x4dv(location, count, transpose, value);
1846}
1847
1848inline void QOpenGLExtension_ARB_gpu_shader_fp64::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const