OpenCoverage

qopenglfunctions.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/gui/opengl/qopenglfunctions.cpp
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2016 The Qt Company Ltd.-
4** Contact: https://www.qt.io/licensing/-
5**-
6** This file is part of the QtGui module of the Qt Toolkit.-
7**-
8** $QT_BEGIN_LICENSE:LGPL$-
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** GNU Lesser General Public License Usage-
18** Alternatively, this file may be used under the terms of the GNU Lesser-
19** General Public License version 3 as published by the Free Software-
20** Foundation and appearing in the file LICENSE.LGPL3 included in the-
21** packaging of this file. Please review the following information to-
22** ensure the GNU Lesser General Public License version 3 requirements-
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.-
24**-
25** GNU General Public License Usage-
26** Alternatively, this file may be used under the terms of the GNU-
27** General Public License version 2.0 or (at your option) the GNU General-
28** Public license version 3 or any later version approved by the KDE Free-
29** Qt Foundation. The licenses are as published by the Free Software-
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3-
31** included in the packaging of this file. Please review the following-
32** information to ensure the GNU General Public License requirements will-
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and-
34** https://www.gnu.org/licenses/gpl-3.0.html.-
35**-
36** $QT_END_LICENSE$-
37**-
38****************************************************************************/-
39-
40#include "qopenglfunctions.h"-
41#include "qopenglextrafunctions.h"-
42#include "qopenglextensions_p.h"-
43#include "qdebug.h"-
44#include <QtGui/private/qopenglcontext_p.h>-
45#include <QtGui/private/qopengl_p.h>-
46#include <QtGui/private/qguiapplication_p.h>-
47#include <qpa/qplatformintegration.h>-
48#include <QtCore/qloggingcategory.h>-
49-
50#ifdef Q_OS_INTEGRITY-
51#include <EGL/egl.h>-
52#endif-
53-
54#ifndef GL_FRAMEBUFFER_SRGB_CAPABLE_EXT-
55#define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA-
56#endif-
57-
58QT_BEGIN_NAMESPACE-
59-
60Q_LOGGING_CATEGORY(lcGLES3, "qt.opengl.es3")
never executed: return category;
0
61-
62-
63#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args) +1-
64#define QT_OPENGL_FUNCTION_NAMES(ret, name, args) \-
65 "gl"#name"\0"-
66#define QT_OPENGL_FLAGS(ret, name, args) \-
67 0,-
68#define QT_OPENGL_IMPLEMENT(CLASS, FUNCTIONS) \-
69void CLASS::init(QOpenGLContext *context) \-
70{ \-
71 const char *names = FUNCTIONS(QT_OPENGL_FUNCTION_NAMES); \-
72 const char *name = names; \-
73 for (int i = 0; i < FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS); ++i) { \-
74 functions[i] = QT_PREPEND_NAMESPACE(getProcAddress(context, name)); \-
75 name += strlen(name) + 1; \-
76 } \-
77}-
78-
79/*!-
80 \class QOpenGLFunctions-
81 \brief The QOpenGLFunctions class provides cross-platform access to the OpenGL ES 2.0 API.-
82 \since 5.0-
83 \ingroup painting-3D-
84 \inmodule QtGui-
85-
86 OpenGL ES 2.0 defines a subset of the OpenGL specification that is-
87 common across many desktop and embedded OpenGL implementations.-
88 However, it can be difficult to use the functions from that subset-
89 because they need to be resolved manually on desktop systems.-
90-
91 QOpenGLFunctions provides a guaranteed API that is available on all-
92 OpenGL systems and takes care of function resolution on systems-
93 that need it. The recommended way to use QOpenGLFunctions is by-
94 direct inheritance:-
95-
96 \code-
97 class MyGLWindow : public QWindow, protected QOpenGLFunctions-
98 {-
99 Q_OBJECT-
100 public:-
101 MyGLWindow(QScreen *screen = 0);-
102-
103 protected:-
104 void initializeGL();-
105 void paintGL();-
106-
107 QOpenGLContext *m_context;-
108 };-
109-
110 MyGLWindow(QScreen *screen)-
111 : QWindow(screen), QOpenGLWidget(parent)-
112 {-
113 setSurfaceType(OpenGLSurface);-
114 create();-
115-
116 // Create an OpenGL context-
117 m_context = new QOpenGLContext;-
118 m_context->create();-
119-
120 // Setup scene and render it-
121 initializeGL();-
122 paintGL();-
123 }-
124-
125 void MyGLWindow::initializeGL()-
126 {-
127 m_context->makeCurrent(this);-
128 initializeOpenGLFunctions();-
129 }-
130 \endcode-
131-
132 The \c{paintGL()} function can then use any of the OpenGL ES 2.0-
133 functions without explicit resolution, such as glActiveTexture()-
134 in the following example:-
135-
136 \code-
137 void MyGLWindow::paintGL()-
138 {-
139 m_context->makeCurrent(this);-
140 glActiveTexture(GL_TEXTURE1);-
141 glBindTexture(GL_TEXTURE_2D, textureId);-
142 ...-
143 m_context->swapBuffers(this);-
144 m_context->doneCurrent();-
145 }-
146 \endcode-
147-
148 QOpenGLFunctions can also be used directly for ad-hoc invocation-
149 of OpenGL ES 2.0 functions on all platforms:-
150-
151 \code-
152 QOpenGLFunctions glFuncs(QOpenGLContext::currentContext());-
153 glFuncs.glActiveTexture(GL_TEXTURE1);-
154 \endcode-
155-
156 An alternative approach is to query the context's associated-
157 QOpenGLFunctions instance. This is somewhat faster than the previous-
158 approach due to avoiding the creation of a new instance, but the difference-
159 is fairly small since the internal data structures are shared, and function-
160 resolving happens only once for a given context, regardless of the number of-
161 QOpenGLFunctions instances initialized for it.-
162-
163 \code-
164 QOpenGLFunctions *glFuncs = QOpenGLContext::currentContext()->functions();-
165 glFuncs->glActiveTexture(GL_TEXTURE1);-
166 \endcode-
167-
168 QOpenGLFunctions provides wrappers for all OpenGL ES 2.0-
169 functions, including the common subset of OpenGL 1.x and ES-
170 2.0. While such functions, for example glClear() or-
171 glDrawArrays(), can be called also directly, as long as the-
172 application links to the platform-specific OpenGL library, calling-
173 them via QOpenGLFunctions enables the possibility of dynamically-
174 loading the OpenGL implementation.-
175-
176 The hasOpenGLFeature() and openGLFeatures() functions can be used-
177 to determine if the OpenGL implementation has a major OpenGL ES 2.0-
178 feature. For example, the following checks if non power of two-
179 textures are available:-
180-
181 \code-
182 QOpenGLFunctions funcs(QOpenGLContext::currentContext());-
183 bool npot = funcs.hasOpenGLFeature(QOpenGLFunctions::NPOTTextures);-
184 \endcode-
185-
186 \sa QOpenGLContext, QSurfaceFormat-
187*/-
188-
189/*!-
190 \enum QOpenGLFunctions::OpenGLFeature-
191 This enum defines OpenGL and OpenGL ES features whose presence-
192 may depend on the implementation.-
193-
194 \value Multitexture glActiveTexture() function is available.-
195 \value Shaders Shader functions are available.-
196 \value Buffers Vertex and index buffer functions are available.-
197 \value Framebuffers Framebuffer object functions are available.-
198 \value BlendColor glBlendColor() is available.-
199 \value BlendEquation glBlendEquation() is available.-
200 \value BlendEquationSeparate glBlendEquationSeparate() is available.-
201 \value BlendFuncSeparate glBlendFuncSeparate() is available.-
202 \value BlendSubtract Blend subtract mode is available.-
203 \value CompressedTextures Compressed texture functions are available.-
204 \value Multisample glSampleCoverage() function is available.-
205 \value StencilSeparate Separate stencil functions are available.-
206 \value NPOTTextures Non power of two textures are available.-
207 \value NPOTTextureRepeat Non power of two textures can use GL_REPEAT as wrap parameter.-
208 \value FixedFunctionPipeline The fixed function pipeline is available.-
209 \value TextureRGFormats The GL_RED and GL_RG texture formats are available.-
210 \value MultipleRenderTargets Multiple color attachments to framebuffer objects are available.-
211*/-
212-
213// Hidden private fields for additional extension data.-
214struct QOpenGLFunctionsPrivateEx : public QOpenGLExtensionsPrivate, public QOpenGLSharedResource-
215{-
216 QOpenGLFunctionsPrivateEx(QOpenGLContext *context)-
217 : QOpenGLExtensionsPrivate(context)-
218 , QOpenGLSharedResource(context->shareGroup())-
219 , m_features(-1)-
220 , m_extensions(-1)-
221 {}
never executed: end of block
0
222-
223 void invalidateResource() Q_DECL_OVERRIDE-
224 {-
225 m_features = -1;-
226 m_extensions = -1;-
227 }
never executed: end of block
0
228-
229 void freeResource(QOpenGLContext *) Q_DECL_OVERRIDE-
230 {-
231 // no gl resources to free-
232 }-
233-
234 int m_features;-
235 int m_extensions;-
236};-
237-
238Q_GLOBAL_STATIC(QOpenGLMultiGroupSharedResource, qt_gl_functions_resource)
never executed: end of block
never executed: guard.store(QtGlobalStatic::Destroyed);
never executed: return &holder.value;
guard.load() =...c::InitializedDescription
TRUEnever evaluated
FALSEnever evaluated
0
239-
240static QOpenGLFunctionsPrivateEx *qt_gl_functions(QOpenGLContext *context = 0)-
241{-
242 if (!context)
!contextDescription
TRUEnever evaluated
FALSEnever evaluated
0
243 context = QOpenGLContext::currentContext();
never executed: context = QOpenGLContext::currentContext();
0
244 Q_ASSERT(context);-
245 QOpenGLFunctionsPrivateEx *funcs =-
246 qt_gl_functions_resource()->value<QOpenGLFunctionsPrivateEx>(context);-
247 return funcs;
never executed: return funcs;
0
248}-
249-
250/*!-
251 Constructs a default function resolver. The resolver cannot-
252 be used until initializeOpenGLFunctions() is called to specify-
253 the context.-
254-
255 \sa initializeOpenGLFunctions()-
256*/-
257QOpenGLFunctions::QOpenGLFunctions()-
258 : d_ptr(0)-
259{-
260}
never executed: end of block
0
261-
262/*!-
263 Constructs a function resolver for \a context. If \a context-
264 is null, then the resolver will be created for the current QOpenGLContext.-
265-
266 The context or another context in the group must be current.-
267-
268 An object constructed in this way can only be used with \a context-
269 and other contexts that share with it. Use initializeOpenGLFunctions()-
270 to change the object's context association.-
271-
272 \sa initializeOpenGLFunctions()-
273*/-
274QOpenGLFunctions::QOpenGLFunctions(QOpenGLContext *context)-
275 : d_ptr(0)-
276{-
277 if (context && QOpenGLContextGroup::currentContextGroup() == context->shareGroup())
contextDescription
TRUEnever evaluated
FALSEnever evaluated
QOpenGLContext...->shareGroup()Description
TRUEnever evaluated
FALSEnever evaluated
0
278 d_ptr = qt_gl_functions(context);
never executed: d_ptr = qt_gl_functions(context);
0
279 else-
280 qWarning("QOpenGLFunctions created with non-current context");
never executed: QMessageLogger(__FILE__, 280, __PRETTY_FUNCTION__).warning("QOpenGLFunctions created with non-current context");
0
281}-
282-
283QOpenGLExtensions::QOpenGLExtensions()-
284{-
285}-
286-
287QOpenGLExtensions::QOpenGLExtensions(QOpenGLContext *context)-
288 : QOpenGLExtraFunctions(context)-
289{-
290}
never executed: end of block
0
291-
292/*!-
293 \fn QOpenGLFunctions::~QOpenGLFunctions()-
294-
295 Destroys this function resolver.-
296*/-
297-
298static int qt_gl_resolve_features()-
299{-
300 QOpenGLContext *ctx = QOpenGLContext::currentContext();-
301 if (ctx->isOpenGLES()) {
ctx->isOpenGLES()Description
TRUEnever evaluated
FALSEnever evaluated
0
302 // OpenGL ES-
303 int features = QOpenGLFunctions::Multitexture |-
304 QOpenGLFunctions::Shaders |-
305 QOpenGLFunctions::Buffers |-
306 QOpenGLFunctions::Framebuffers |-
307 QOpenGLFunctions::BlendColor |-
308 QOpenGLFunctions::BlendEquation |-
309 QOpenGLFunctions::BlendEquationSeparate |-
310 QOpenGLFunctions::BlendFuncSeparate |-
311 QOpenGLFunctions::BlendSubtract |-
312 QOpenGLFunctions::CompressedTextures |-
313 QOpenGLFunctions::Multisample |-
314 QOpenGLFunctions::StencilSeparate;-
315 QOpenGLExtensionMatcher extensions;-
316 if (extensions.match("GL_IMG_texture_npot"))
extensions.mat...texture_npot")Description
TRUEnever evaluated
FALSEnever evaluated
0
317 features |= QOpenGLFunctions::NPOTTextures;
never executed: features |= QOpenGLFunctions::NPOTTextures;
0
318 if (extensions.match("GL_OES_texture_npot"))
extensions.mat...texture_npot")Description
TRUEnever evaluated
FALSEnever evaluated
0
319 features |= QOpenGLFunctions::NPOTTextures |
never executed: features |= QOpenGLFunctions::NPOTTextures | QOpenGLFunctions::NPOTTextureRepeat;
0
320 QOpenGLFunctions::NPOTTextureRepeat;
never executed: features |= QOpenGLFunctions::NPOTTextures | QOpenGLFunctions::NPOTTextureRepeat;
0
321 if (ctx->format().majorVersion() >= 3 || extensions.match("GL_EXT_texture_rg")) {
ctx->format()....Version() >= 3Description
TRUEnever evaluated
FALSEnever evaluated
extensions.mat...T_texture_rg")Description
TRUEnever evaluated
FALSEnever evaluated
0
322 // Mesa's GLES implementation (as of 10.6.0) is unable to handle this, even though it provides 3.0.-
323 const char *renderer = reinterpret_cast<const char *>(ctx->functions()->glGetString(GL_RENDERER));-
324 if (!(renderer && strstr(renderer, "Mesa")))
rendererDescription
TRUEnever evaluated
FALSEnever evaluated
strstr(renderer, "Mesa")Description
TRUEnever evaluated
FALSEnever evaluated
0
325 features |= QOpenGLFunctions::TextureRGFormats;
never executed: features |= QOpenGLFunctions::TextureRGFormats;
0
326 }
never executed: end of block
0
327 if (ctx->format().majorVersion() >= 3)
ctx->format()....Version() >= 3Description
TRUEnever evaluated
FALSEnever evaluated
0
328 features |= QOpenGLFunctions::MultipleRenderTargets;
never executed: features |= QOpenGLFunctions::MultipleRenderTargets;
0
329 return features;
never executed: return features;
0
330 } else {-
331 // OpenGL-
332 int features = QOpenGLFunctions::TextureRGFormats;-
333 QSurfaceFormat format = QOpenGLContext::currentContext()->format();-
334 QOpenGLExtensionMatcher extensions;-
335-
336 if (format.majorVersion() >= 3)
format.majorVersion() >= 3Description
TRUEnever evaluated
FALSEnever evaluated
0
337 features |= QOpenGLFunctions::Framebuffers | QOpenGLFunctions::MultipleRenderTargets;
never executed: features |= QOpenGLFunctions::Framebuffers | QOpenGLFunctions::MultipleRenderTargets;
0
338 else if (extensions.match("GL_EXT_framebuffer_object") || extensions.match("GL_ARB_framebuffer_object"))
extensions.mat...uffer_object")Description
TRUEnever evaluated
FALSEnever evaluated
extensions.mat...uffer_object")Description
TRUEnever evaluated
FALSEnever evaluated
0
339 features |= QOpenGLFunctions::Framebuffers | QOpenGLFunctions::MultipleRenderTargets;
never executed: features |= QOpenGLFunctions::Framebuffers | QOpenGLFunctions::MultipleRenderTargets;
0
340-
341 if (format.majorVersion() >= 2) {
format.majorVersion() >= 2Description
TRUEnever evaluated
FALSEnever evaluated
0
342 features |= QOpenGLFunctions::BlendColor |-
343 QOpenGLFunctions::BlendEquation |-
344 QOpenGLFunctions::BlendSubtract |-
345 QOpenGLFunctions::Multitexture |-
346 QOpenGLFunctions::CompressedTextures |-
347 QOpenGLFunctions::Multisample |-
348 QOpenGLFunctions::BlendFuncSeparate |-
349 QOpenGLFunctions::Buffers |-
350 QOpenGLFunctions::Shaders |-
351 QOpenGLFunctions::StencilSeparate |-
352 QOpenGLFunctions::BlendEquationSeparate |-
353 QOpenGLFunctions::NPOTTextures |-
354 QOpenGLFunctions::NPOTTextureRepeat;-
355 } else {
never executed: end of block
0
356 // Recognize features by extension name.-
357 if (extensions.match("GL_ARB_multitexture"))
extensions.mat...multitexture")Description
TRUEnever evaluated
FALSEnever evaluated
0
358 features |= QOpenGLFunctions::Multitexture;
never executed: features |= QOpenGLFunctions::Multitexture;
0
359 if (extensions.match("GL_ARB_shader_objects"))
extensions.mat...ader_objects")Description
TRUEnever evaluated
FALSEnever evaluated
0
360 features |= QOpenGLFunctions::Shaders;
never executed: features |= QOpenGLFunctions::Shaders;
0
361 if (extensions.match("GL_EXT_blend_color"))
extensions.mat..._blend_color")Description
TRUEnever evaluated
FALSEnever evaluated
0
362 features |= QOpenGLFunctions::BlendColor;
never executed: features |= QOpenGLFunctions::BlendColor;
0
363 if (extensions.match("GL_EXT_blend_equation_separate"))
extensions.mat...ion_separate")Description
TRUEnever evaluated
FALSEnever evaluated
0
364 features |= QOpenGLFunctions::BlendEquationSeparate;
never executed: features |= QOpenGLFunctions::BlendEquationSeparate;
0
365 if (extensions.match("GL_EXT_blend_subtract"))
extensions.mat...end_subtract")Description
TRUEnever evaluated
FALSEnever evaluated
0
366 features |= QOpenGLFunctions::BlendSubtract;
never executed: features |= QOpenGLFunctions::BlendSubtract;
0
367 if (extensions.match("GL_EXT_blend_func_separate"))
extensions.mat...unc_separate")Description
TRUEnever evaluated
FALSEnever evaluated
0
368 features |= QOpenGLFunctions::BlendFuncSeparate;
never executed: features |= QOpenGLFunctions::BlendFuncSeparate;
0
369 if (extensions.match("GL_ARB_texture_compression"))
extensions.mat..._compression")Description
TRUEnever evaluated
FALSEnever evaluated
0
370 features |= QOpenGLFunctions::CompressedTextures;
never executed: features |= QOpenGLFunctions::CompressedTextures;
0
371 if (extensions.match("GL_ARB_multisample"))
extensions.mat..._multisample")Description
TRUEnever evaluated
FALSEnever evaluated
0
372 features |= QOpenGLFunctions::Multisample;
never executed: features |= QOpenGLFunctions::Multisample;
0
373 if (extensions.match("GL_ARB_texture_non_power_of_two"))
extensions.mat...power_of_two")Description
TRUEnever evaluated
FALSEnever evaluated
0
374 features |= QOpenGLFunctions::NPOTTextures |
never executed: features |= QOpenGLFunctions::NPOTTextures | QOpenGLFunctions::NPOTTextureRepeat;
0
375 QOpenGLFunctions::NPOTTextureRepeat;
never executed: features |= QOpenGLFunctions::NPOTTextures | QOpenGLFunctions::NPOTTextureRepeat;
0
376 }
never executed: end of block
0
377-
378 const QPair<int, int> version = format.version();-
379 if (version < qMakePair(3, 0)
version < qMakePair(3, 0)Description
TRUEnever evaluated
FALSEnever evaluated
0
380 || (version == qMakePair(3, 0) && format.testOption(QSurfaceFormat::DeprecatedFunctions))
version == qMakePair(3, 0)Description
TRUEnever evaluated
FALSEnever evaluated
format.testOpt...atedFunctions)Description
TRUEnever evaluated
FALSEnever evaluated
0
381 || (version == qMakePair(3, 1) && extensions.match("GL_ARB_compatibility"))
version == qMakePair(3, 1)Description
TRUEnever evaluated
FALSEnever evaluated
extensions.mat...ompatibility")Description
TRUEnever evaluated
FALSEnever evaluated
0
382 || (version >= qMakePair(3, 2) && format.profile() == QSurfaceFormat::CompatibilityProfile)) {
version >= qMakePair(3, 2)Description
TRUEnever evaluated
FALSEnever evaluated
format.profile...ibilityProfileDescription
TRUEnever evaluated
FALSEnever evaluated
0
383 features |= QOpenGLFunctions::FixedFunctionPipeline;-
384 }
never executed: end of block
0
385 return features;
never executed: return features;
0
386 }-
387}-
388-
389static int qt_gl_resolve_extensions()-
390{-
391 int extensions = 0;-
392 QOpenGLExtensionMatcher extensionMatcher;-
393 QOpenGLContext *ctx = QOpenGLContext::currentContext();-
394 QSurfaceFormat format = ctx->format();-
395-
396 if (extensionMatcher.match("GL_EXT_bgra"))
extensionMatch..."GL_EXT_bgra")Description
TRUEnever evaluated
FALSEnever evaluated
0
397 extensions |= QOpenGLExtensions::BGRATextureFormat;
never executed: extensions |= QOpenGLExtensions::BGRATextureFormat;
0
398 if (extensionMatcher.match("GL_ARB_texture_rectangle"))
extensionMatch...re_rectangle")Description
TRUEnever evaluated
FALSEnever evaluated
0
399 extensions |= QOpenGLExtensions::TextureRectangle;
never executed: extensions |= QOpenGLExtensions::TextureRectangle;
0
400 if (extensionMatcher.match("GL_ARB_texture_compression"))
extensionMatch..._compression")Description
TRUEnever evaluated
FALSEnever evaluated
0
401 extensions |= QOpenGLExtensions::TextureCompression;
never executed: extensions |= QOpenGLExtensions::TextureCompression;
0
402 if (extensionMatcher.match("GL_EXT_texture_compression_s3tc"))
extensionMatch...ression_s3tc")Description
TRUEnever evaluated
FALSEnever evaluated
0
403 extensions |= QOpenGLExtensions::DDSTextureCompression;
never executed: extensions |= QOpenGLExtensions::DDSTextureCompression;
0
404 if (extensionMatcher.match("GL_OES_compressed_ETC1_RGB8_texture"))
extensionMatch...RGB8_texture")Description
TRUEnever evaluated
FALSEnever evaluated
0
405 extensions |= QOpenGLExtensions::ETC1TextureCompression;
never executed: extensions |= QOpenGLExtensions::ETC1TextureCompression;
0
406 if (extensionMatcher.match("GL_IMG_texture_compression_pvrtc"))
extensionMatch...ession_pvrtc")Description
TRUEnever evaluated
FALSEnever evaluated
0
407 extensions |= QOpenGLExtensions::PVRTCTextureCompression;
never executed: extensions |= QOpenGLExtensions::PVRTCTextureCompression;
0
408 if (extensionMatcher.match("GL_ARB_texture_mirrored_repeat"))
extensionMatch...rored_repeat")Description
TRUEnever evaluated
FALSEnever evaluated
0
409 extensions |= QOpenGLExtensions::MirroredRepeat;
never executed: extensions |= QOpenGLExtensions::MirroredRepeat;
0
410 if (extensionMatcher.match("GL_EXT_stencil_two_side"))
extensionMatch...cil_two_side")Description
TRUEnever evaluated
FALSEnever evaluated
0
411 extensions |= QOpenGLExtensions::StencilTwoSide;
never executed: extensions |= QOpenGLExtensions::StencilTwoSide;
0
412 if (extensionMatcher.match("GL_EXT_stencil_wrap"))
extensionMatch...stencil_wrap")Description
TRUEnever evaluated
FALSEnever evaluated
0
413 extensions |= QOpenGLExtensions::StencilWrap;
never executed: extensions |= QOpenGLExtensions::StencilWrap;
0
414 if (extensionMatcher.match("GL_NV_float_buffer"))
extensionMatch...float_buffer")Description
TRUEnever evaluated
FALSEnever evaluated
0
415 extensions |= QOpenGLExtensions::NVFloatBuffer;
never executed: extensions |= QOpenGLExtensions::NVFloatBuffer;
0
416 if (extensionMatcher.match("GL_ARB_pixel_buffer_object"))
extensionMatch...uffer_object")Description
TRUEnever evaluated
FALSEnever evaluated
0
417 extensions |= QOpenGLExtensions::PixelBufferObject;
never executed: extensions |= QOpenGLExtensions::PixelBufferObject;
0
418-
419 if (ctx->isOpenGLES()) {
ctx->isOpenGLES()Description
TRUEnever evaluated
FALSEnever evaluated
0
420 if (format.majorVersion() >= 2)
format.majorVersion() >= 2Description
TRUEnever evaluated
FALSEnever evaluated
0
421 extensions |= QOpenGLExtensions::GenerateMipmap;
never executed: extensions |= QOpenGLExtensions::GenerateMipmap;
0
422-
423 if (format.majorVersion() >= 3) {
format.majorVersion() >= 3Description
TRUEnever evaluated
FALSEnever evaluated
0
424 extensions |= QOpenGLExtensions::PackedDepthStencil-
425 | QOpenGLExtensions::Depth24-
426 | QOpenGLExtensions::ElementIndexUint-
427 | QOpenGLExtensions::MapBufferRange-
428 | QOpenGLExtensions::FramebufferBlit-
429 | QOpenGLExtensions::FramebufferMultisample-
430 | QOpenGLExtensions::Sized8Formats;-
431 } else {
never executed: end of block
0
432 // Recognize features by extension name.-
433 if (extensionMatcher.match("GL_OES_packed_depth_stencil"))
extensionMatch...epth_stencil")Description
TRUEnever evaluated
FALSEnever evaluated
0
434 extensions |= QOpenGLExtensions::PackedDepthStencil;
never executed: extensions |= QOpenGLExtensions::PackedDepthStencil;
0
435 if (extensionMatcher.match("GL_OES_depth24"))
extensionMatch..._OES_depth24")Description
TRUEnever evaluated
FALSEnever evaluated
0
436 extensions |= QOpenGLExtensions::Depth24;
never executed: extensions |= QOpenGLExtensions::Depth24;
0
437 if (extensionMatcher.match("GL_ANGLE_framebuffer_blit"))
extensionMatch...ebuffer_blit")Description
TRUEnever evaluated
FALSEnever evaluated
0
438 extensions |= QOpenGLExtensions::FramebufferBlit;
never executed: extensions |= QOpenGLExtensions::FramebufferBlit;
0
439 if (extensionMatcher.match("GL_ANGLE_framebuffer_multisample"))
extensionMatch..._multisample")Description
TRUEnever evaluated
FALSEnever evaluated
0
440 extensions |= QOpenGLExtensions::FramebufferMultisample;
never executed: extensions |= QOpenGLExtensions::FramebufferMultisample;
0
441 if (extensionMatcher.match("GL_NV_framebuffer_blit"))
extensionMatch...ebuffer_blit")Description
TRUEnever evaluated
FALSEnever evaluated
0
442 extensions |= QOpenGLExtensions::FramebufferBlit;
never executed: extensions |= QOpenGLExtensions::FramebufferBlit;
0
443 if (extensionMatcher.match("GL_NV_framebuffer_multisample"))
extensionMatch..._multisample")Description
TRUEnever evaluated
FALSEnever evaluated
0
444 extensions |= QOpenGLExtensions::FramebufferMultisample;
never executed: extensions |= QOpenGLExtensions::FramebufferMultisample;
0
445 if (extensionMatcher.match("GL_OES_rgb8_rgba8"))
extensionMatch...S_rgb8_rgba8")Description
TRUEnever evaluated
FALSEnever evaluated
0
446 extensions |= QOpenGLExtensions::Sized8Formats;
never executed: extensions |= QOpenGLExtensions::Sized8Formats;
0
447 }
never executed: end of block
0
448-
449 if (extensionMatcher.match("GL_OES_mapbuffer"))
extensionMatch...ES_mapbuffer")Description
TRUEnever evaluated
FALSEnever evaluated
0
450 extensions |= QOpenGLExtensions::MapBuffer;
never executed: extensions |= QOpenGLExtensions::MapBuffer;
0
451 if (extensionMatcher.match("GL_OES_element_index_uint"))
extensionMatch...t_index_uint")Description
TRUEnever evaluated
FALSEnever evaluated
0
452 extensions |= QOpenGLExtensions::ElementIndexUint;
never executed: extensions |= QOpenGLExtensions::ElementIndexUint;
0
453 // We don't match GL_APPLE_texture_format_BGRA8888 here because it has different semantics.-
454 if (extensionMatcher.match("GL_IMG_texture_format_BGRA8888") || extensionMatcher.match("GL_EXT_texture_format_BGRA8888"))
extensionMatch...mat_BGRA8888")Description
TRUEnever evaluated
FALSEnever evaluated
extensionMatch...mat_BGRA8888")Description
TRUEnever evaluated
FALSEnever evaluated
0
455 extensions |= QOpenGLExtensions::BGRATextureFormat;
never executed: extensions |= QOpenGLExtensions::BGRATextureFormat;
0
456 if (extensionMatcher.match("GL_EXT_discard_framebuffer"))
extensionMatch..._framebuffer")Description
TRUEnever evaluated
FALSEnever evaluated
0
457 extensions |= QOpenGLExtensions::DiscardFramebuffer;
never executed: extensions |= QOpenGLExtensions::DiscardFramebuffer;
0
458 if (extensionMatcher.match("GL_EXT_texture_norm16"))
extensionMatch...xture_norm16")Description
TRUEnever evaluated
FALSEnever evaluated
0
459 extensions |= QOpenGLExtensions::Sized16Formats;
never executed: extensions |= QOpenGLExtensions::Sized16Formats;
0
460 } else {
never executed: end of block
0
461 extensions |= QOpenGLExtensions::ElementIndexUint-
462 | QOpenGLExtensions::MapBuffer-
463 | QOpenGLExtensions::Sized16Formats;-
464-
465 if (format.version() >= qMakePair(1, 2))
format.version...MakePair(1, 2)Description
TRUEnever evaluated
FALSEnever evaluated
0
466 extensions |= QOpenGLExtensions::BGRATextureFormat;
never executed: extensions |= QOpenGLExtensions::BGRATextureFormat;
0
467-
468 if (format.version() >= qMakePair(1, 4) || extensionMatcher.match("GL_SGIS_generate_mipmap"))
format.version...MakePair(1, 4)Description
TRUEnever evaluated
FALSEnever evaluated
extensionMatch...erate_mipmap")Description
TRUEnever evaluated
FALSEnever evaluated
0
469 extensions |= QOpenGLExtensions::GenerateMipmap;
never executed: extensions |= QOpenGLExtensions::GenerateMipmap;
0
470-
471 if (format.majorVersion() >= 3 || extensionMatcher.match("GL_ARB_framebuffer_object")) {
format.majorVersion() >= 3Description
TRUEnever evaluated
FALSEnever evaluated
extensionMatch...uffer_object")Description
TRUEnever evaluated
FALSEnever evaluated
0
472 extensions |= QOpenGLExtensions::FramebufferMultisample-
473 | QOpenGLExtensions::FramebufferBlit-
474 | QOpenGLExtensions::PackedDepthStencil-
475 | QOpenGLExtensions::Sized8Formats;-
476 } else {
never executed: end of block
0
477 // Recognize features by extension name.-
478 if (extensionMatcher.match("GL_EXT_framebuffer_multisample"))
extensionMatch..._multisample")Description
TRUEnever evaluated
FALSEnever evaluated
0
479 extensions |= QOpenGLExtensions::FramebufferMultisample;
never executed: extensions |= QOpenGLExtensions::FramebufferMultisample;
0
480 if (extensionMatcher.match("GL_EXT_framebuffer_blit"))
extensionMatch...ebuffer_blit")Description
TRUEnever evaluated
FALSEnever evaluated
0
481 extensions |= QOpenGLExtensions::FramebufferBlit;
never executed: extensions |= QOpenGLExtensions::FramebufferBlit;
0
482 if (extensionMatcher.match("GL_EXT_packed_depth_stencil"))
extensionMatch...epth_stencil")Description
TRUEnever evaluated
FALSEnever evaluated
0
483 extensions |= QOpenGLExtensions::PackedDepthStencil;
never executed: extensions |= QOpenGLExtensions::PackedDepthStencil;
0
484 }
never executed: end of block
0
485-
486 if (format.version() >= qMakePair(3, 2) || extensionMatcher.match("GL_ARB_geometry_shader4"))
format.version...MakePair(3, 2)Description
TRUEnever evaluated
FALSEnever evaluated
extensionMatch...etry_shader4")Description
TRUEnever evaluated
FALSEnever evaluated
0
487 extensions |= QOpenGLExtensions::GeometryShaders;
never executed: extensions |= QOpenGLExtensions::GeometryShaders;
0
488-
489 if (extensionMatcher.match("GL_ARB_map_buffer_range"))
extensionMatch...buffer_range")Description
TRUEnever evaluated
FALSEnever evaluated
0
490 extensions |= QOpenGLExtensions::MapBufferRange;
never executed: extensions |= QOpenGLExtensions::MapBufferRange;
0
491-
492 if (extensionMatcher.match("GL_EXT_framebuffer_sRGB")) {
extensionMatch...ebuffer_sRGB")Description
TRUEnever evaluated
FALSEnever evaluated
0
493 GLboolean srgbCapableFramebuffers = false;-
494 ctx->functions()->glGetBooleanv(GL_FRAMEBUFFER_SRGB_CAPABLE_EXT, &srgbCapableFramebuffers);-
495 if (srgbCapableFramebuffers)
srgbCapableFramebuffersDescription
TRUEnever evaluated
FALSEnever evaluated
0
496 extensions |= QOpenGLExtensions::SRGBFrameBuffer;
never executed: extensions |= QOpenGLExtensions::SRGBFrameBuffer;
0
497 }
never executed: end of block
0
498 }
never executed: end of block
0
499-
500 return extensions;
never executed: return extensions;
0
501}-
502-
503/*!-
504 Returns the set of features that are present on this system's-
505 OpenGL implementation.-
506-
507 It is assumed that the QOpenGLContext associated with this function-
508 resolver is current.-
509-
510 \sa hasOpenGLFeature()-
511*/-
512QOpenGLFunctions::OpenGLFeatures QOpenGLFunctions::openGLFeatures() const-
513{-
514 QOpenGLFunctionsPrivateEx *d = static_cast<QOpenGLFunctionsPrivateEx *>(d_ptr);-
515 if (!d)
!dDescription
TRUEnever evaluated
FALSEnever evaluated
0
516 return 0;
never executed: return 0;
0
517 if (d->m_features == -1)
d->m_features == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
518 d->m_features = qt_gl_resolve_features();
never executed: d->m_features = qt_gl_resolve_features();
0
519 return QOpenGLFunctions::OpenGLFeatures(d->m_features);
never executed: return QOpenGLFunctions::OpenGLFeatures(d->m_features);
0
520}-
521-
522/*!-
523 Returns \c true if \a feature is present on this system's OpenGL-
524 implementation; false otherwise.-
525-
526 It is assumed that the QOpenGLContext associated with this function-
527 resolver is current.-
528-
529 \sa openGLFeatures()-
530*/-
531bool QOpenGLFunctions::hasOpenGLFeature(QOpenGLFunctions::OpenGLFeature feature) const-
532{-
533 QOpenGLFunctionsPrivateEx *d = static_cast<QOpenGLFunctionsPrivateEx *>(d_ptr);-
534 if (!d)
!dDescription
TRUEnever evaluated
FALSEnever evaluated
0
535 return false;
never executed: return false;
0
536 if (d->m_features == -1)
d->m_features == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
537 d->m_features = qt_gl_resolve_features();
never executed: d->m_features = qt_gl_resolve_features();
0
538 return (d->m_features & int(feature)) != 0;
never executed: return (d->m_features & int(feature)) != 0;
0
539}-
540-
541/*!-
542 Returns the set of extensions that are present on this system's-
543 OpenGL implementation.-
544-
545 It is assumed that the QOpenGLContext associated with this extension-
546 resolver is current.-
547-
548 \sa hasOpenGLExtensions()-
549*/-
550QOpenGLExtensions::OpenGLExtensions QOpenGLExtensions::openGLExtensions()-
551{-
552 QOpenGLFunctionsPrivateEx *d = static_cast<QOpenGLFunctionsPrivateEx *>(d_ptr);-
553 if (!d)
!dDescription
TRUEnever evaluated
FALSEnever evaluated
0
554 return 0;
never executed: return 0;
0
555 if (d->m_extensions == -1)
d->m_extensions == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
556 d->m_extensions = qt_gl_resolve_extensions();
never executed: d->m_extensions = qt_gl_resolve_extensions();
0
557 return QOpenGLExtensions::OpenGLExtensions(d->m_extensions);
never executed: return QOpenGLExtensions::OpenGLExtensions(d->m_extensions);
0
558}-
559-
560/*!-
561 Returns \c true if \a extension is present on this system's OpenGL-
562 implementation; false otherwise.-
563-
564 It is assumed that the QOpenGLContext associated with this extension-
565 resolver is current.-
566-
567 \sa openGLFeatures()-
568*/-
569bool QOpenGLExtensions::hasOpenGLExtension(QOpenGLExtensions::OpenGLExtension extension) const-
570{-
571 QOpenGLFunctionsPrivateEx *d = static_cast<QOpenGLFunctionsPrivateEx *>(d_ptr);-
572 if (!d)
!dDescription
TRUEnever evaluated
FALSEnever evaluated
0
573 return false;
never executed: return false;
0
574 if (d->m_extensions == -1)
d->m_extensions == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
575 d->m_extensions = qt_gl_resolve_extensions();
never executed: d->m_extensions = qt_gl_resolve_extensions();
0
576 return (d->m_extensions & int(extension)) != 0;
never executed: return (d->m_extensions & int(extension)) != 0;
0
577}-
578-
579/*!-
580 \fn void QOpenGLFunctions::initializeGLFunctions()-
581 \obsolete-
582-
583 Use initializeOpenGLFunctions() instead.-
584*/-
585-
586/*!-
587 Initializes OpenGL function resolution for the current context.-
588-
589 After calling this function, the QOpenGLFunctions object can only be-
590 used with the current context and other contexts that share with it.-
591 Call initializeOpenGLFunctions() again to change the object's context-
592 association.-
593*/-
594void QOpenGLFunctions::initializeOpenGLFunctions()-
595{-
596 d_ptr = qt_gl_functions();-
597}
never executed: end of block
0
598-
599/*!-
600 \fn void QOpenGLFunctions::glBindTexture(GLenum target, GLuint texture)-
601-
602 Convenience function that calls glBindTexture(\a target, \a texture).-
603-
604 For more information, see the OpenGL ES 2.0 documentation for-
605 \l{http://www.khronos.org/opengles/sdk/docs/man/glBindTexture.xml}{glBindTexture()}.-
606-
607 \since 5.3-
608*/-
609-
610/*!-
611 \fn void QOpenGLFunctions::glBlendFunc(GLenum sfactor, GLenum dfactor)-
612-
613 Convenience function that calls glBlendFunc(\a sfactor, \a dfactor).-
614-
615 For more information, see the OpenGL ES 2.0 documentation for-
616 \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendFunc.xml}{glBlendFunc()}.-
617-
618 \since 5.3-
619*/-
620-
621/*!-
622 \fn void QOpenGLFunctions::glClear(GLbitfield mask)-
623-
624 Convenience function that calls glClear(\a mask).-
625-
626 For more information, see the OpenGL ES 2.0 documentation for-
627 \l{http://www.khronos.org/opengles/sdk/docs/man/glClear.xml}{glClear()}.-
628-
629 \since 5.3-
630*/-
631-
632/*!-
633 \fn void QOpenGLFunctions::glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)-
634-
635 Convenience function that calls glClearColor(\a red, \a green, \a blue, \a alpha).-
636-
637 For more information, see the OpenGL ES 2.0 documentation for-
638 \l{http://www.khronos.org/opengles/sdk/docs/man/glClearColor.xml}{glClearColor()}.-
639-
640 \since 5.3-
641*/-
642-
643/*!-
644 \fn void QOpenGLFunctions::glClearStencil(GLint s)-
645-
646 Convenience function that calls glClearStencil(\a s).-
647-
648 For more information, see the OpenGL ES 2.0 documentation for-
649 \l{http://www.khronos.org/opengles/sdk/docs/man/glClearStencil.xml}{glClearStencil()}.-
650-
651 \since 5.3-
652*/-
653-
654/*!-
655 \fn void QOpenGLFunctions::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)-
656-
657 Convenience function that calls glColorMask(\a red, \a green, \a blue, \a alpha).-
658-
659 For more information, see the OpenGL ES 2.0 documentation for-
660 \l{http://www.khronos.org/opengles/sdk/docs/man/glColorMask.xml}{glColorMask()}.-
661-
662 \since 5.3-
663*/-
664-
665/*!-
666 \fn void QOpenGLFunctions::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)-
667-
668 Convenience function that calls glCopyTexImage2D(\a target, \a level, \a internalformat, \a x, \a y, \a width, \a height, \a border).-
669-
670 For more information, see the OpenGL ES 2.0 documentation for-
671 \l{http://www.khronos.org/opengles/sdk/docs/man/glCopyTexImage2D.xml}{glCopyTexImage2D()}.-
672-
673 \since 5.3-
674*/-
675-
676/*!-
677 \fn void QOpenGLFunctions::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)-
678-
679 Convenience function that calls glCopyTexSubImage2D(\a target, \a level, \a xoffset, \a yoffset, \a x, \a y, \a width, \a height).-
680-
681 For more information, see the OpenGL ES 2.0 documentation for-
682 \l{http://www.khronos.org/opengles/sdk/docs/man/glCopyTexSubImage2D.xml}{glCopyTexSubImage2D()}.-
683-
684 \since 5.3-
685*/-
686-
687/*!-
688 \fn void QOpenGLFunctions::glCullFace(GLenum mode)-
689-
690 Convenience function that calls glCullFace(\a mode).-
691-
692 For more information, see the OpenGL ES 2.0 documentation for-
693 \l{http://www.khronos.org/opengles/sdk/docs/man/glCullFace.xml}{glCullFace()}.-
694-
695 \since 5.3-
696*/-
697-
698/*!-
699 \fn void QOpenGLFunctions::glDeleteTextures(GLsizei n, const GLuint* textures)-
700-
701 Convenience function that calls glDeleteTextures(\a n, \a textures).-
702-
703 For more information, see the OpenGL ES 2.0 documentation for-
704 \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteTextures.xml}{glDeleteTextures()}.-
705-
706 \since 5.3-
707*/-
708-
709/*!-
710 \fn void QOpenGLFunctions::glDepthFunc(GLenum func)-
711-
712 Convenience function that calls glDepthFunc(\a func).-
713-
714 For more information, see the OpenGL ES 2.0 documentation for-
715 \l{http://www.khronos.org/opengles/sdk/docs/man/glDepthFunc.xml}{glDepthFunc()}.-
716-
717 \since 5.3-
718*/-
719-
720/*!-
721 \fn void QOpenGLFunctions::glDepthMask(GLboolean flag)-
722-
723 Convenience function that calls glDepthMask(\a flag).-
724-
725 For more information, see the OpenGL ES 2.0 documentation for-
726 \l{http://www.khronos.org/opengles/sdk/docs/man/glDepthMask.xml}{glDepthMask()}.-
727-
728 \since 5.3-
729*/-
730-
731/*!-
732 \fn void QOpenGLFunctions::glDisable(GLenum cap)-
733-
734 Convenience function that calls glDisable(\a cap).-
735-
736 For more information, see the OpenGL ES 2.0 documentation for-
737 \l{http://www.khronos.org/opengles/sdk/docs/man/glDisable.xml}{glDisable()}.-
738-
739 \since 5.3-
740*/-
741-
742/*!-
743 \fn void QOpenGLFunctions::glDrawArrays(GLenum mode, GLint first, GLsizei count)-
744-
745 Convenience function that calls glDrawArrays(\a mode, \a first, \a count).-
746-
747 For more information, see the OpenGL ES 2.0 documentation for-
748 \l{http://www.khronos.org/opengles/sdk/docs/man/glDrawArrays.xml}{glDrawArrays()}.-
749-
750 \since 5.3-
751*/-
752-
753/*!-
754 \fn void QOpenGLFunctions::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices)-
755-
756 Convenience function that calls glDrawElements(\a mode, \a count, \a type, \a indices).-
757-
758 For more information, see the OpenGL ES 2.0 documentation for-
759 \l{http://www.khronos.org/opengles/sdk/docs/man/glDrawElements.xml}{glDrawElements()}.-
760-
761 \since 5.3-
762*/-
763-
764/*!-
765 \fn void QOpenGLFunctions::glEnable(GLenum cap)-
766-
767 Convenience function that calls glEnable(\a cap).-
768-
769 For more information, see the OpenGL ES 2.0 documentation for-
770 \l{http://www.khronos.org/opengles/sdk/docs/man/glEnable.xml}{glEnable()}.-
771-
772 \since 5.3-
773*/-
774-
775/*!-
776 \fn void QOpenGLFunctions::glFinish()-
777-
778 Convenience function that calls glFinish().-
779-
780 For more information, see the OpenGL ES 2.0 documentation for-
781 \l{http://www.khronos.org/opengles/sdk/docs/man/glFinish.xml}{glFinish()}.-
782-
783 \since 5.3-
784*/-
785-
786/*!-
787 \fn void QOpenGLFunctions::glFlush()-
788-
789 Convenience function that calls glFlush().-
790-
791 For more information, see the OpenGL ES 2.0 documentation for-
792 \l{http://www.khronos.org/opengles/sdk/docs/man/glFlush.xml}{glFlush()}.-
793-
794 \since 5.3-
795*/-
796-
797/*!-
798 \fn void QOpenGLFunctions::glFrontFace(GLenum mode)-
799-
800 Convenience function that calls glFrontFace(\a mode).-
801-
802 For more information, see the OpenGL ES 2.0 documentation for-
803 \l{http://www.khronos.org/opengles/sdk/docs/man/glFrontFace.xml}{glFrontFace()}.-
804-
805 \since 5.3-
806*/-
807-
808/*!-
809 \fn void QOpenGLFunctions::glGenTextures(GLsizei n, GLuint* textures)-
810-
811 Convenience function that calls glGenTextures(\a n, \a textures).-
812-
813 For more information, see the OpenGL ES 2.0 documentation for-
814 \l{http://www.khronos.org/opengles/sdk/docs/man/glGenTextures.xml}{glGenTextures()}.-
815-
816 \since 5.3-
817*/-
818-
819/*!-
820 \fn void QOpenGLFunctions::glGetBooleanv(GLenum pname, GLboolean* params)-
821-
822 Convenience function that calls glGetBooleanv(\a pname, \a params).-
823-
824 For more information, see the OpenGL ES 2.0 documentation for-
825 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetBooleanv.xml}{glGetBooleanv()}.-
826-
827 \since 5.3-
828*/-
829-
830/*!-
831 \fn GLenum QOpenGLFunctions::glGetError()-
832-
833 Convenience function that calls glGetError().-
834-
835 For more information, see the OpenGL ES 2.0 documentation for-
836 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetError.xml}{glGetError()}.-
837-
838 \since 5.3-
839*/-
840-
841/*!-
842 \fn void QOpenGLFunctions::glGetFloatv(GLenum pname, GLfloat* params)-
843-
844 Convenience function that calls glGetFloatv(\a pname, \a params).-
845-
846 For more information, see the OpenGL ES 2.0 documentation for-
847 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetFloatv.xml}{glGetFloatv()}.-
848-
849 \since 5.3-
850*/-
851-
852/*!-
853 \fn void QOpenGLFunctions::glGetIntegerv(GLenum pname, GLint* params)-
854-
855 Convenience function that calls glGetIntegerv(\a pname, \a params).-
856-
857 For more information, see the OpenGL ES 2.0 documentation for-
858 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetIntegerv.xml}{glGetIntegerv()}.-
859-
860 \since 5.3-
861*/-
862-
863/*!-
864 \fn const GLubyte *QOpenGLFunctions::glGetString(GLenum name)-
865-
866 Convenience function that calls glGetString(\a name).-
867-
868 For more information, see the OpenGL ES 2.0 documentation for-
869 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetString.xml}{glGetString()}.-
870-
871 \since 5.3-
872*/-
873-
874/*!-
875 \fn void QOpenGLFunctions::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)-
876-
877 Convenience function that calls glGetTexParameterfv(\a target, \a pname, \a params).-
878-
879 For more information, see the OpenGL ES 2.0 documentation for-
880 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetTexParameterfv.xml}{glGetTexParameterfv()}.-
881-
882 \since 5.3-
883*/-
884-
885/*!-
886 \fn void QOpenGLFunctions::glGetTexParameteriv(GLenum target, GLenum pname, GLint* params)-
887-
888 Convenience function that calls glGetTexParameteriv(\a target, \a pname, \a params).-
889-
890 For more information, see the OpenGL ES 2.0 documentation for-
891 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetTexParameteriv.xml}{glGetTexParameteriv()}.-
892-
893 \since 5.3-
894*/-
895-
896/*!-
897 \fn void QOpenGLFunctions::glHint(GLenum target, GLenum mode)-
898-
899 Convenience function that calls glHint(\a target, \a mode).-
900-
901 For more information, see the OpenGL ES 2.0 documentation for-
902 \l{http://www.khronos.org/opengles/sdk/docs/man/glHint.xml}{glHint()}.-
903-
904 \since 5.3-
905*/-
906-
907/*!-
908 \fn GLboolean QOpenGLFunctions::glIsEnabled(GLenum cap)-
909-
910 Convenience function that calls glIsEnabled(\a cap).-
911-
912 For more information, see the OpenGL ES 2.0 documentation for-
913 \l{http://www.khronos.org/opengles/sdk/docs/man/glIsEnabled.xml}{glIsEnabled()}.-
914-
915 \since 5.3-
916*/-
917-
918/*!-
919 \fn GLboolean QOpenGLFunctions::glIsTexture(GLuint texture)-
920-
921 Convenience function that calls glIsTexture(\a texture).-
922-
923 For more information, see the OpenGL ES 2.0 documentation for-
924 \l{http://www.khronos.org/opengles/sdk/docs/man/glIsTexture.xml}{glIsTexture()}.-
925-
926 \since 5.3-
927*/-
928-
929/*!-
930 \fn void QOpenGLFunctions::glLineWidth(GLfloat width)-
931-
932 Convenience function that calls glLineWidth(\a width).-
933-
934 For more information, see the OpenGL ES 2.0 documentation for-
935 \l{http://www.khronos.org/opengles/sdk/docs/man/glLineWidth.xml}{glLineWidth()}.-
936-
937 \since 5.3-
938*/-
939-
940/*!-
941 \fn void QOpenGLFunctions::glPixelStorei(GLenum pname, GLint param)-
942-
943 Convenience function that calls glPixelStorei(\a pname, \a param).-
944-
945 For more information, see the OpenGL ES 2.0 documentation for-
946 \l{http://www.khronos.org/opengles/sdk/docs/man/glPixelStorei.xml}{glPixelStorei()}.-
947-
948 \since 5.3-
949*/-
950-
951/*!-
952 \fn void QOpenGLFunctions::glPolygonOffset(GLfloat factor, GLfloat units)-
953-
954 Convenience function that calls glPolygonOffset(\a factor, \a units).-
955-
956 For more information, see the OpenGL ES 2.0 documentation for-
957 \l{http://www.khronos.org/opengles/sdk/docs/man/glPolygonOffset.xml}{glPolygonOffset()}.-
958-
959 \since 5.3-
960*/-
961-
962/*!-
963 \fn void QOpenGLFunctions::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels)-
964-
965 Convenience function that calls glReadPixels(\a x, \a y, \a width, \a height, \a format, \a type, \a pixels).-
966-
967 For more information, see the OpenGL ES 2.0 documentation for-
968 \l{http://www.khronos.org/opengles/sdk/docs/man/glReadPixels.xml}{glReadPixels()}.-
969-
970 \since 5.3-
971*/-
972-
973/*!-
974 \fn void QOpenGLFunctions::glScissor(GLint x, GLint y, GLsizei width, GLsizei height)-
975-
976 Convenience function that calls glScissor(\a x, \a y, \a width, \a height).-
977-
978 For more information, see the OpenGL ES 2.0 documentation for-
979 \l{http://www.khronos.org/opengles/sdk/docs/man/glScissor.xml}{glScissor()}.-
980-
981 \since 5.3-
982*/-
983-
984/*!-
985 \fn void QOpenGLFunctions::glStencilFunc(GLenum func, GLint ref, GLuint mask)-
986-
987 Convenience function that calls glStencilFunc(\a func, \a ref, \a mask).-
988-
989 For more information, see the OpenGL ES 2.0 documentation for-
990 \l{http://www.khronos.org/opengles/sdk/docs/man/glStencilFunc.xml}{glStencilFunc()}.-
991-
992 \since 5.3-
993*/-
994-
995/*!-
996 \fn void QOpenGLFunctions::glStencilMask(GLuint mask)-
997-
998 Convenience function that calls glStencilMask(\a mask).-
999-
1000 For more information, see the OpenGL ES 2.0 documentation for-
1001 \l{http://www.khronos.org/opengles/sdk/docs/man/glStencilMask.xml}{glStencilMask()}.-
1002-
1003 \since 5.3-
1004*/-
1005-
1006/*!-
1007 \fn void QOpenGLFunctions::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)-
1008-
1009 Convenience function that calls glStencilOp(\a fail, \a zfail, \a zpass).-
1010-
1011 For more information, see the OpenGL ES 2.0 documentation for-
1012 \l{http://www.khronos.org/opengles/sdk/docs/man/glStencilOp.xml}{glStencilOp()}.-
1013-
1014 \since 5.3-
1015*/-
1016-
1017/*!-
1018 \fn void QOpenGLFunctions::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels)-
1019-
1020 Convenience function that calls glTexImage2D(\a target, \a level, \a internalformat, \a width, \a height, \a border, \a format, \a type, \a pixels).-
1021-
1022 For more information, see the OpenGL ES 2.0 documentation for-
1023 \l{http://www.khronos.org/opengles/sdk/docs/man/glTexImage2D.xml}{glTexImage2D()}.-
1024-
1025 \since 5.3-
1026*/-
1027-
1028/*!-
1029 \fn void QOpenGLFunctions::glTexParameterf(GLenum target, GLenum pname, GLfloat param)-
1030-
1031 Convenience function that calls glTexParameterf(\a target, \a pname, \a param).-
1032-
1033 For more information, see the OpenGL ES 2.0 documentation for-
1034 \l{http://www.khronos.org/opengles/sdk/docs/man/glTexParameterf.xml}{glTexParameterf()}.-
1035-
1036 \since 5.3-
1037*/-
1038-
1039/*!-
1040 \fn void QOpenGLFunctions::glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params)-
1041-
1042 Convenience function that calls glTexParameterfv(\a target, \a pname, \a params).-
1043-
1044 For more information, see the OpenGL ES 2.0 documentation for-
1045 \l{http://www.khronos.org/opengles/sdk/docs/man/glTexParameterfv.xml}{glTexParameterfv()}.-
1046-
1047 \since 5.3-
1048*/-
1049-
1050/*!-
1051 \fn void QOpenGLFunctions::glTexParameteri(GLenum target, GLenum pname, GLint param)-
1052-
1053 Convenience function that calls glTexParameteri(\a target, \a pname, \a param).-
1054-
1055 For more information, see the OpenGL ES 2.0 documentation for-
1056 \l{http://www.khronos.org/opengles/sdk/docs/man/glTexParameteri.xml}{glTexParameteri()}.-
1057-
1058 \since 5.3-
1059*/-
1060-
1061/*!-
1062 \fn void QOpenGLFunctions::glTexParameteriv(GLenum target, GLenum pname, const GLint* params)-
1063-
1064 Convenience function that calls glTexParameteriv(\a target, \a pname, \a params).-
1065-
1066 For more information, see the OpenGL ES 2.0 documentation for-
1067 \l{http://www.khronos.org/opengles/sdk/docs/man/glTexParameteriv.xml}{glTexParameteriv()}.-
1068-
1069 \since 5.3-
1070*/-
1071-
1072/*!-
1073 \fn void QOpenGLFunctions::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels)-
1074-
1075 Convenience function that calls glTexSubImage2D(\a target, \a level, \a xoffset, \a yoffset, \a width, \a height, \a format, \a type, \a pixels).-
1076-
1077 For more information, see the OpenGL ES 2.0 documentation for-
1078 \l{http://www.khronos.org/opengles/sdk/docs/man/glTexSubImage2D.xml}{glTexSubImage2D()}.-
1079-
1080 \since 5.3-
1081*/-
1082-
1083/*!-
1084 \fn void QOpenGLFunctions::glViewport(GLint x, GLint y, GLsizei width, GLsizei height)-
1085-
1086 Convenience function that calls glViewport(\a x, \a y, \a width, \a height).-
1087-
1088 For more information, see the OpenGL ES 2.0 documentation for-
1089 \l{http://www.khronos.org/opengles/sdk/docs/man/glViewport.xml}{glViewport()}.-
1090-
1091 \since 5.3-
1092*/-
1093-
1094/*!-
1095 \fn void QOpenGLFunctions::glActiveTexture(GLenum texture)-
1096-
1097 Convenience function that calls glActiveTexture(\a texture).-
1098-
1099 For more information, see the OpenGL ES 2.0 documentation for-
1100 \l{http://www.khronos.org/opengles/sdk/docs/man/glActiveTexture.xml}{glActiveTexture()}.-
1101*/-
1102-
1103/*!-
1104 \fn void QOpenGLFunctions::glAttachShader(GLuint program, GLuint shader)-
1105-
1106 Convenience function that calls glAttachShader(\a program, \a shader).-
1107-
1108 For more information, see the OpenGL ES 2.0 documentation for-
1109 \l{http://www.khronos.org/opengles/sdk/docs/man/glAttachShader.xml}{glAttachShader()}.-
1110-
1111 This convenience function will do nothing on OpenGL ES 1.x systems.-
1112*/-
1113-
1114/*!-
1115 \fn void QOpenGLFunctions::glBindAttribLocation(GLuint program, GLuint index, const char* name)-
1116-
1117 Convenience function that calls glBindAttribLocation(\a program, \a index, \a name).-
1118-
1119 For more information, see the OpenGL ES 2.0 documentation for-
1120 \l{http://www.khronos.org/opengles/sdk/docs/man/glBindAttribLocation.xml}{glBindAttribLocation()}.-
1121-
1122 This convenience function will do nothing on OpenGL ES 1.x systems.-
1123*/-
1124-
1125/*!-
1126 \fn void QOpenGLFunctions::glBindBuffer(GLenum target, GLuint buffer)-
1127-
1128 Convenience function that calls glBindBuffer(\a target, \a buffer).-
1129-
1130 For more information, see the OpenGL ES 2.0 documentation for-
1131 \l{http://www.khronos.org/opengles/sdk/docs/man/glBindBuffer.xml}{glBindBuffer()}.-
1132*/-
1133-
1134/*!-
1135 \fn void QOpenGLFunctions::glBindFramebuffer(GLenum target, GLuint framebuffer)-
1136-
1137 Convenience function that calls glBindFramebuffer(\a target, \a framebuffer).-
1138-
1139 Note that Qt will translate a \a framebuffer argument of 0 to the currently-
1140 bound QOpenGLContext's defaultFramebufferObject().-
1141-
1142 For more information, see the OpenGL ES 2.0 documentation for-
1143 \l{http://www.khronos.org/opengles/sdk/docs/man/glBindFramebuffer.xml}{glBindFramebuffer()}.-
1144*/-
1145-
1146/*!-
1147 \fn void QOpenGLFunctions::glBindRenderbuffer(GLenum target, GLuint renderbuffer)-
1148-
1149 Convenience function that calls glBindRenderbuffer(\a target, \a renderbuffer).-
1150-
1151 For more information, see the OpenGL ES 2.0 documentation for-
1152 \l{http://www.khronos.org/opengles/sdk/docs/man/glBindRenderbuffer.xml}{glBindRenderbuffer()}.-
1153*/-
1154-
1155/*!-
1156 \fn void QOpenGLFunctions::glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)-
1157-
1158 Convenience function that calls glBlendColor(\a red, \a green, \a blue, \a alpha).-
1159-
1160 For more information, see the OpenGL ES 2.0 documentation for-
1161 \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendColor.xml}{glBlendColor()}.-
1162*/-
1163-
1164/*!-
1165 \fn void QOpenGLFunctions::glBlendEquation(GLenum mode)-
1166-
1167 Convenience function that calls glBlendEquation(\a mode).-
1168-
1169 For more information, see the OpenGL ES 2.0 documentation for-
1170 \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendEquation.xml}{glBlendEquation()}.-
1171*/-
1172-
1173/*!-
1174 \fn void QOpenGLFunctions::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)-
1175-
1176 Convenience function that calls glBlendEquationSeparate(\a modeRGB, \a modeAlpha).-
1177-
1178 For more information, see the OpenGL ES 2.0 documentation for-
1179 \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendEquationSeparate.xml}{glBlendEquationSeparate()}.-
1180*/-
1181-
1182/*!-
1183 \fn void QOpenGLFunctions::glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)-
1184-
1185 Convenience function that calls glBlendFuncSeparate(\a srcRGB, \a dstRGB, \a srcAlpha, \a dstAlpha).-
1186-
1187 For more information, see the OpenGL ES 2.0 documentation for-
1188 \l{http://www.khronos.org/opengles/sdk/docs/man/glBlendFuncSeparate.xml}{glBlendFuncSeparate()}.-
1189*/-
1190-
1191/*!-
1192 \fn void QOpenGLFunctions::glBufferData(GLenum target, qopengl_GLsizeiptr size, const void* data, GLenum usage)-
1193-
1194 Convenience function that calls glBufferData(\a target, \a size, \a data, \a usage).-
1195-
1196 For more information, see the OpenGL ES 2.0 documentation for-
1197 \l{http://www.khronos.org/opengles/sdk/docs/man/glBufferData.xml}{glBufferData()}.-
1198*/-
1199-
1200/*!-
1201 \fn void QOpenGLFunctions::glBufferSubData(GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, const void* data)-
1202-
1203 Convenience function that calls glBufferSubData(\a target, \a offset, \a size, \a data).-
1204-
1205 For more information, see the OpenGL ES 2.0 documentation for-
1206 \l{http://www.khronos.org/opengles/sdk/docs/man/glBufferSubData.xml}{glBufferSubData()}.-
1207*/-
1208-
1209/*!-
1210 \fn GLenum QOpenGLFunctions::glCheckFramebufferStatus(GLenum target)-
1211-
1212 Convenience function that calls glCheckFramebufferStatus(\a target).-
1213-
1214 For more information, see the OpenGL ES 2.0 documentation for-
1215 \l{http://www.khronos.org/opengles/sdk/docs/man/glCheckFramebufferStatus.xml}{glCheckFramebufferStatus()}.-
1216*/-
1217-
1218/*!-
1219 \fn void QOpenGLFunctions::glClearDepthf(GLclampf depth)-
1220-
1221 Convenience function that calls glClearDepth(\a depth) on-
1222 desktop OpenGL systems and glClearDepthf(\a depth) on-
1223 embedded OpenGL ES systems.-
1224-
1225 For more information, see the OpenGL ES 2.0 documentation for-
1226 \l{http://www.khronos.org/opengles/sdk/docs/man/glClearDepthf.xml}{glClearDepthf()}.-
1227*/-
1228-
1229/*!-
1230 \fn void QOpenGLFunctions::glCompileShader(GLuint shader)-
1231-
1232 Convenience function that calls glCompileShader(\a shader).-
1233-
1234 For more information, see the OpenGL ES 2.0 documentation for-
1235 \l{http://www.khronos.org/opengles/sdk/docs/man/glCompileShader.xml}{glCompileShader()}.-
1236-
1237 This convenience function will do nothing on OpenGL ES 1.x systems.-
1238*/-
1239-
1240/*!-
1241 \fn void QOpenGLFunctions::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data)-
1242-
1243 Convenience function that calls glCompressedTexImage2D(\a target, \a level, \a internalformat, \a width, \a height, \a border, \a imageSize, \a data).-
1244-
1245 For more information, see the OpenGL ES 2.0 documentation for-
1246 \l{http://www.khronos.org/opengles/sdk/docs/man/glCompressedTexImage2D.xml}{glCompressedTexImage2D()}.-
1247*/-
1248-
1249/*!-
1250 \fn void QOpenGLFunctions::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data)-
1251-
1252 Convenience function that calls glCompressedTexSubImage2D(\a target, \a level, \a xoffset, \a yoffset, \a width, \a height, \a format, \a imageSize, \a data).-
1253-
1254 For more information, see the OpenGL ES 2.0 documentation for-
1255 \l{http://www.khronos.org/opengles/sdk/docs/man/glCompressedTexSubImage2D.xml}{glCompressedTexSubImage2D()}.-
1256*/-
1257-
1258/*!-
1259 \fn GLuint QOpenGLFunctions::glCreateProgram()-
1260-
1261 Convenience function that calls glCreateProgram().-
1262-
1263 For more information, see the OpenGL ES 2.0 documentation for-
1264 \l{http://www.khronos.org/opengles/sdk/docs/man/glCreateProgram.xml}{glCreateProgram()}.-
1265-
1266 This convenience function will do nothing on OpenGL ES 1.x systems.-
1267*/-
1268-
1269/*!-
1270 \fn GLuint QOpenGLFunctions::glCreateShader(GLenum type)-
1271-
1272 Convenience function that calls glCreateShader(\a type).-
1273-
1274 For more information, see the OpenGL ES 2.0 documentation for-
1275 \l{http://www.khronos.org/opengles/sdk/docs/man/glCreateShader.xml}{glCreateShader()}.-
1276-
1277 This convenience function will do nothing on OpenGL ES 1.x systems.-
1278*/-
1279-
1280/*!-
1281 \fn void QOpenGLFunctions::glDeleteBuffers(GLsizei n, const GLuint* buffers)-
1282-
1283 Convenience function that calls glDeleteBuffers(\a n, \a buffers).-
1284-
1285 For more information, see the OpenGL ES 2.0 documentation for-
1286 \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteBuffers.xml}{glDeleteBuffers()}.-
1287*/-
1288-
1289/*!-
1290 \fn void QOpenGLFunctions::glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers)-
1291-
1292 Convenience function that calls glDeleteFramebuffers(\a n, \a framebuffers).-
1293-
1294 For more information, see the OpenGL ES 2.0 documentation for-
1295 \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteFramebuffers.xml}{glDeleteFramebuffers()}.-
1296*/-
1297-
1298/*!-
1299 \fn void QOpenGLFunctions::glDeleteProgram(GLuint program)-
1300-
1301 Convenience function that calls glDeleteProgram(\a program).-
1302-
1303 For more information, see the OpenGL ES 2.0 documentation for-
1304 \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteProgram.xml}{glDeleteProgram()}.-
1305-
1306 This convenience function will do nothing on OpenGL ES 1.x systems.-
1307*/-
1308-
1309/*!-
1310 \fn void QOpenGLFunctions::glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)-
1311-
1312 Convenience function that calls glDeleteRenderbuffers(\a n, \a renderbuffers).-
1313-
1314 For more information, see the OpenGL ES 2.0 documentation for-
1315 \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteRenderbuffers.xml}{glDeleteRenderbuffers()}.-
1316*/-
1317-
1318/*!-
1319 \fn void QOpenGLFunctions::glDeleteShader(GLuint shader)-
1320-
1321 Convenience function that calls glDeleteShader(\a shader).-
1322-
1323 For more information, see the OpenGL ES 2.0 documentation for-
1324 \l{http://www.khronos.org/opengles/sdk/docs/man/glDeleteShader.xml}{glDeleteShader()}.-
1325-
1326 This convenience function will do nothing on OpenGL ES 1.x systems.-
1327*/-
1328-
1329/*!-
1330 \fn void QOpenGLFunctions::glDepthRangef(GLclampf zNear, GLclampf zFar)-
1331-
1332 Convenience function that calls glDepthRange(\a zNear, \a zFar) on-
1333 desktop OpenGL systems and glDepthRangef(\a zNear, \a zFar) on-
1334 embedded OpenGL ES systems.-
1335-
1336 For more information, see the OpenGL ES 2.0 documentation for-
1337 \l{http://www.khronos.org/opengles/sdk/docs/man/glDepthRangef.xml}{glDepthRangef()}.-
1338*/-
1339-
1340/*!-
1341 \fn void QOpenGLFunctions::glDetachShader(GLuint program, GLuint shader)-
1342-
1343 Convenience function that calls glDetachShader(\a program, \a shader).-
1344-
1345 For more information, see the OpenGL ES 2.0 documentation for-
1346 \l{http://www.khronos.org/opengles/sdk/docs/man/glDetachShader.xml}{glDetachShader()}.-
1347-
1348 This convenience function will do nothing on OpenGL ES 1.x systems.-
1349*/-
1350-
1351/*!-
1352 \fn void QOpenGLFunctions::glDisableVertexAttribArray(GLuint index)-
1353-
1354 Convenience function that calls glDisableVertexAttribArray(\a index).-
1355-
1356 For more information, see the OpenGL ES 2.0 documentation for-
1357 \l{http://www.khronos.org/opengles/sdk/docs/man/glDisableVertexAttribArray.xml}{glDisableVertexAttribArray()}.-
1358-
1359 This convenience function will do nothing on OpenGL ES 1.x systems.-
1360*/-
1361-
1362/*!-
1363 \fn void QOpenGLFunctions::glEnableVertexAttribArray(GLuint index)-
1364-
1365 Convenience function that calls glEnableVertexAttribArray(\a index).-
1366-
1367 For more information, see the OpenGL ES 2.0 documentation for-
1368 \l{http://www.khronos.org/opengles/sdk/docs/man/glEnableVertexAttribArray.xml}{glEnableVertexAttribArray()}.-
1369-
1370 This convenience function will do nothing on OpenGL ES 1.x systems.-
1371*/-
1372-
1373/*!-
1374 \fn void QOpenGLFunctions::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)-
1375-
1376 Convenience function that calls glFramebufferRenderbuffer(\a target, \a attachment, \a renderbuffertarget, \a renderbuffer).-
1377-
1378 For more information, see the OpenGL ES 2.0 documentation for-
1379 \l{http://www.khronos.org/opengles/sdk/docs/man/glFramebufferRenderbuffer.xml}{glFramebufferRenderbuffer()}.-
1380*/-
1381-
1382/*!-
1383 \fn void QOpenGLFunctions::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)-
1384-
1385 Convenience function that calls glFramebufferTexture2D(\a target, \a attachment, \a textarget, \a texture, \a level).-
1386-
1387 For more information, see the OpenGL ES 2.0 documentation for-
1388 \l{http://www.khronos.org/opengles/sdk/docs/man/glFramebufferTexture2D.xml}{glFramebufferTexture2D()}.-
1389*/-
1390-
1391/*!-
1392 \fn void QOpenGLFunctions::glGenBuffers(GLsizei n, GLuint* buffers)-
1393-
1394 Convenience function that calls glGenBuffers(\a n, \a buffers).-
1395-
1396 For more information, see the OpenGL ES 2.0 documentation for-
1397 \l{http://www.khronos.org/opengles/sdk/docs/man/glGenBuffers.xml}{glGenBuffers()}.-
1398*/-
1399-
1400/*!-
1401 \fn void QOpenGLFunctions::glGenerateMipmap(GLenum target)-
1402-
1403 Convenience function that calls glGenerateMipmap(\a target).-
1404-
1405 For more information, see the OpenGL ES 2.0 documentation for-
1406 \l{http://www.khronos.org/opengles/sdk/docs/man/glGenerateMipmap.xml}{glGenerateMipmap()}.-
1407*/-
1408-
1409/*!-
1410 \fn void QOpenGLFunctions::glGenFramebuffers(GLsizei n, GLuint* framebuffers)-
1411-
1412 Convenience function that calls glGenFramebuffers(\a n, \a framebuffers).-
1413-
1414 For more information, see the OpenGL ES 2.0 documentation for-
1415 \l{http://www.khronos.org/opengles/sdk/docs/man/glGenFramebuffers.xml}{glGenFramebuffers()}.-
1416*/-
1417-
1418/*!-
1419 \fn void QOpenGLFunctions::glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)-
1420-
1421 Convenience function that calls glGenRenderbuffers(\a n, \a renderbuffers).-
1422-
1423 For more information, see the OpenGL ES 2.0 documentation for-
1424 \l{http://www.khronos.org/opengles/sdk/docs/man/glGenRenderbuffers.xml}{glGenRenderbuffers()}.-
1425*/-
1426-
1427/*!-
1428 \fn void QOpenGLFunctions::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)-
1429-
1430 Convenience function that calls glGetActiveAttrib(\a program, \a index, \a bufsize, \a length, \a size, \a type, \a name).-
1431-
1432 For more information, see the OpenGL ES 2.0 documentation for-
1433 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetActiveAttrib.xml}{glGetActiveAttrib()}.-
1434-
1435 This convenience function will do nothing on OpenGL ES 1.x systems.-
1436*/-
1437-
1438/*!-
1439 \fn void QOpenGLFunctions::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)-
1440-
1441 Convenience function that calls glGetActiveUniform(\a program, \a index, \a bufsize, \a length, \a size, \a type, \a name).-
1442-
1443 For more information, see the OpenGL ES 2.0 documentation for-
1444 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetActiveUniform.xml}{glGetActiveUniform()}.-
1445-
1446 This convenience function will do nothing on OpenGL ES 1.x systems.-
1447*/-
1448-
1449/*!-
1450 \fn void QOpenGLFunctions::glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)-
1451-
1452 Convenience function that calls glGetAttachedShaders(\a program, \a maxcount, \a count, \a shaders).-
1453-
1454 For more information, see the OpenGL ES 2.0 documentation for-
1455 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetAttachedShaders.xml}{glGetAttachedShaders()}.-
1456-
1457 This convenience function will do nothing on OpenGL ES 1.x systems.-
1458*/-
1459-
1460/*!-
1461 \fn GLint QOpenGLFunctions::glGetAttribLocation(GLuint program, const char* name)-
1462-
1463 Convenience function that calls glGetAttribLocation(\a program, \a name).-
1464-
1465 For more information, see the OpenGL ES 2.0 documentation for-
1466 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetAttribLocation.xml}{glGetAttribLocation()}.-
1467-
1468 This convenience function will do nothing on OpenGL ES 1.x systems.-
1469*/-
1470-
1471/*!-
1472 \fn void QOpenGLFunctions::glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)-
1473-
1474 Convenience function that calls glGetBufferParameteriv(\a target, \a pname, \a params).-
1475-
1476 For more information, see the OpenGL ES 2.0 documentation for-
1477 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetBufferParameteriv.xml}{glGetBufferParameteriv()}.-
1478*/-
1479-
1480/*!-
1481 \fn void QOpenGLFunctions::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)-
1482-
1483 Convenience function that calls glGetFramebufferAttachmentParameteriv(\a target, \a attachment, \a pname, \a params).-
1484-
1485 For more information, see the OpenGL ES 2.0 documentation for-
1486 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetFramebufferAttachmentParameteriv.xml}{glGetFramebufferAttachmentParameteriv()}.-
1487*/-
1488-
1489/*!-
1490 \fn void QOpenGLFunctions::glGetProgramiv(GLuint program, GLenum pname, GLint* params)-
1491-
1492 Convenience function that calls glGetProgramiv(\a program, \a pname, \a params).-
1493-
1494 For more information, see the OpenGL ES 2.0 documentation for-
1495 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetProgramiv.xml}{glGetProgramiv()}.-
1496-
1497 This convenience function will do nothing on OpenGL ES 1.x systems.-
1498*/-
1499-
1500/*!-
1501 \fn void QOpenGLFunctions::glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog)-
1502-
1503 Convenience function that calls glGetProgramInfoLog(\a program, \a bufsize, \a length, \a infolog).-
1504-
1505 For more information, see the OpenGL ES 2.0 documentation for-
1506 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetProgramInfoLog.xml}{glGetProgramInfoLog()}.-
1507-
1508 This convenience function will do nothing on OpenGL ES 1.x systems.-
1509*/-
1510-
1511/*!-
1512 \fn void QOpenGLFunctions::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)-
1513-
1514 Convenience function that calls glGetRenderbufferParameteriv(\a target, \a pname, \a params).-
1515-
1516 For more information, see the OpenGL ES 2.0 documentation for-
1517 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetRenderbufferParameteriv.xml}{glGetRenderbufferParameteriv()}.-
1518*/-
1519-
1520/*!-
1521 \fn void QOpenGLFunctions::glGetShaderiv(GLuint shader, GLenum pname, GLint* params)-
1522-
1523 Convenience function that calls glGetShaderiv(\a shader, \a pname, \a params).-
1524-
1525 For more information, see the OpenGL ES 2.0 documentation for-
1526 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetShaderiv.xml}{glGetShaderiv()}.-
1527-
1528 This convenience function will do nothing on OpenGL ES 1.x systems.-
1529*/-
1530-
1531/*!-
1532 \fn void QOpenGLFunctions::glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog)-
1533-
1534 Convenience function that calls glGetShaderInfoLog(\a shader, \a bufsize, \a length, \a infolog).-
1535-
1536 For more information, see the OpenGL ES 2.0 documentation for-
1537 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetShaderInfoLog.xml}{glGetShaderInfoLog()}.-
1538-
1539 This convenience function will do nothing on OpenGL ES 1.x systems.-
1540*/-
1541-
1542/*!-
1543 \fn void QOpenGLFunctions::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)-
1544-
1545 Convenience function that calls glGetShaderPrecisionFormat(\a shadertype, \a precisiontype, \a range, \a precision).-
1546-
1547 For more information, see the OpenGL ES 2.0 documentation for-
1548 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetShaderPrecisionFormat.xml}{glGetShaderPrecisionFormat()}.-
1549-
1550 This convenience function will do nothing on OpenGL ES 1.x systems.-
1551*/-
1552-
1553/*!-
1554 \fn void QOpenGLFunctions::glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, char* source)-
1555-
1556 Convenience function that calls glGetShaderSource(\a shader, \a bufsize, \a length, \a source).-
1557-
1558 For more information, see the OpenGL ES 2.0 documentation for-
1559 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetShaderSource.xml}{glGetShaderSource()}.-
1560-
1561 This convenience function will do nothing on OpenGL ES 1.x systems.-
1562*/-
1563-
1564/*!-
1565 \fn void QOpenGLFunctions::glGetUniformfv(GLuint program, GLint location, GLfloat* params)-
1566-
1567 Convenience function that calls glGetUniformfv(\a program, \a location, \a params).-
1568-
1569 For more information, see the OpenGL ES 2.0 documentation for-
1570 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetUniformfv.xml}{glGetUniformfv()}.-
1571-
1572 This convenience function will do nothing on OpenGL ES 1.x systems.-
1573*/-
1574-
1575/*!-
1576 \fn void QOpenGLFunctions::glGetUniformiv(GLuint program, GLint location, GLint* params)-
1577-
1578 Convenience function that calls glGetUniformiv(\a program, \a location, \a params).-
1579-
1580 For more information, see the OpenGL ES 2.0 documentation for-
1581 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetUniformiv.xml}{glGetUniformiv()}.-
1582-
1583 This convenience function will do nothing on OpenGL ES 1.x systems.-
1584*/-
1585-
1586/*!-
1587 \fn GLint QOpenGLFunctions::glGetUniformLocation(GLuint program, const char* name)-
1588-
1589 Convenience function that calls glGetUniformLocation(\a program, \a name).-
1590-
1591 For more information, see the OpenGL ES 2.0 documentation for-
1592 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetUniformLocation.xml}{glGetUniformLocation()}.-
1593-
1594 This convenience function will do nothing on OpenGL ES 1.x systems.-
1595*/-
1596-
1597/*!-
1598 \fn void QOpenGLFunctions::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)-
1599-
1600 Convenience function that calls glGetVertexAttribfv(\a index, \a pname, \a params).-
1601-
1602 For more information, see the OpenGL ES 2.0 documentation for-
1603 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetVertexAttribfv.xml}{glGetVertexAttribfv()}.-
1604-
1605 This convenience function will do nothing on OpenGL ES 1.x systems.-
1606*/-
1607-
1608/*!-
1609 \fn void QOpenGLFunctions::glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params)-
1610-
1611 Convenience function that calls glGetVertexAttribiv(\a index, \a pname, \a params).-
1612-
1613 For more information, see the OpenGL ES 2.0 documentation for-
1614 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetVertexAttribiv.xml}{glGetVertexAttribiv()}.-
1615-
1616 This convenience function will do nothing on OpenGL ES 1.x systems.-
1617*/-
1618-
1619/*!-
1620 \fn void QOpenGLFunctions::glGetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer)-
1621-
1622 Convenience function that calls glGetVertexAttribPointerv(\a index, \a pname, \a pointer).-
1623-
1624 For more information, see the OpenGL ES 2.0 documentation for-
1625 \l{http://www.khronos.org/opengles/sdk/docs/man/glGetVertexAttribPointerv.xml}{glGetVertexAttribPointerv()}.-
1626-
1627 This convenience function will do nothing on OpenGL ES 1.x systems.-
1628*/-
1629-
1630/*!-
1631 \fn GLboolean QOpenGLFunctions::glIsBuffer(GLuint buffer)-
1632-
1633 Convenience function that calls glIsBuffer(\a buffer).-
1634-
1635 For more information, see the OpenGL ES 2.0 documentation for-
1636 \l{http://www.khronos.org/opengles/sdk/docs/man/glIsBuffer.xml}{glIsBuffer()}.-
1637*/-
1638-
1639/*!-
1640 \fn GLboolean QOpenGLFunctions::glIsFramebuffer(GLuint framebuffer)-
1641-
1642 Convenience function that calls glIsFramebuffer(\a framebuffer).-
1643-
1644 For more information, see the OpenGL ES 2.0 documentation for-
1645 \l{http://www.khronos.org/opengles/sdk/docs/man/glIsFramebuffer.xml}{glIsFramebuffer()}.-
1646*/-
1647-
1648/*!-
1649 \fn GLboolean QOpenGLFunctions::glIsProgram(GLuint program)-
1650-
1651 Convenience function that calls glIsProgram(\a program).-
1652-
1653 For more information, see the OpenGL ES 2.0 documentation for-
1654 \l{http://www.khronos.org/opengles/sdk/docs/man/glIsProgram.xml}{glIsProgram()}.-
1655-
1656 This convenience function will do nothing on OpenGL ES 1.x systems.-
1657*/-
1658-
1659/*!-
1660 \fn GLboolean QOpenGLFunctions::glIsRenderbuffer(GLuint renderbuffer)-
1661-
1662 Convenience function that calls glIsRenderbuffer(\a renderbuffer).-
1663-
1664 For more information, see the OpenGL ES 2.0 documentation for-
1665 \l{http://www.khronos.org/opengles/sdk/docs/man/glIsRenderbuffer.xml}{glIsRenderbuffer()}.-
1666*/-
1667-
1668/*!-
1669 \fn GLboolean QOpenGLFunctions::glIsShader(GLuint shader)-
1670-
1671 Convenience function that calls glIsShader(\a shader).-
1672-
1673 For more information, see the OpenGL ES 2.0 documentation for-
1674 \l{http://www.khronos.org/opengles/sdk/docs/man/glIsShader.xml}{glIsShader()}.-
1675-
1676 This convenience function will do nothing on OpenGL ES 1.x systems.-
1677*/-
1678-
1679/*!-
1680 \fn void QOpenGLFunctions::glLinkProgram(GLuint program)-
1681-
1682 Convenience function that calls glLinkProgram(\a program).-
1683-
1684 For more information, see the OpenGL ES 2.0 documentation for-
1685 \l{http://www.khronos.org/opengles/sdk/docs/man/glLinkProgram.xml}{glLinkProgram()}.-
1686-
1687 This convenience function will do nothing on OpenGL ES 1.x systems.-
1688*/-
1689-
1690/*!-
1691 \fn void QOpenGLFunctions::glReleaseShaderCompiler()-
1692-
1693 Convenience function that calls glReleaseShaderCompiler().-
1694-
1695 For more information, see the OpenGL ES 2.0 documentation for-
1696 \l{http://www.khronos.org/opengles/sdk/docs/man/glReleaseShaderCompiler.xml}{glReleaseShaderCompiler()}.-
1697-
1698 This convenience function will do nothing on OpenGL ES 1.x systems.-
1699*/-
1700-
1701/*!-
1702 \fn void QOpenGLFunctions::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)-
1703-
1704 Convenience function that calls glRenderbufferStorage(\a target, \a internalformat, \a width, \a height).-
1705-
1706 For more information, see the OpenGL ES 2.0 documentation for-
1707 \l{http://www.khronos.org/opengles/sdk/docs/man/glRenderbufferStorage.xml}{glRenderbufferStorage()}.-
1708*/-
1709-
1710/*!-
1711 \fn void QOpenGLFunctions::glSampleCoverage(GLclampf value, GLboolean invert)-
1712-
1713 Convenience function that calls glSampleCoverage(\a value, \a invert).-
1714-
1715 For more information, see the OpenGL ES 2.0 documentation for-
1716 \l{http://www.khronos.org/opengles/sdk/docs/man/glSampleCoverage.xml}{glSampleCoverage()}.-
1717*/-
1718-
1719/*!-
1720 \fn void QOpenGLFunctions::glShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length)-
1721-
1722 Convenience function that calls glShaderBinary(\a n, \a shaders, \a binaryformat, \a binary, \a length).-
1723-
1724 For more information, see the OpenGL ES 2.0 documentation for-
1725 \l{http://www.khronos.org/opengles/sdk/docs/man/glShaderBinary.xml}{glShaderBinary()}.-
1726-
1727 This convenience function will do nothing on OpenGL ES 1.x systems.-
1728*/-
1729-
1730/*!-
1731 \fn void QOpenGLFunctions::glShaderSource(GLuint shader, GLsizei count, const char** string, const GLint* length)-
1732-
1733 Convenience function that calls glShaderSource(\a shader, \a count, \a string, \a length).-
1734-
1735 For more information, see the OpenGL ES 2.0 documentation for-
1736 \l{http://www.khronos.org/opengles/sdk/docs/man/glShaderSource.xml}{glShaderSource()}.-
1737-
1738 This convenience function will do nothing on OpenGL ES 1.x systems.-
1739*/-
1740-
1741/*!-
1742 \fn void QOpenGLFunctions::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)-
1743-
1744 Convenience function that calls glStencilFuncSeparate(\a face, \a func, \a ref, \a mask).-
1745-
1746 For more information, see the OpenGL ES 2.0 documentation for-
1747 \l{http://www.khronos.org/opengles/sdk/docs/man/glStencilFuncSeparate.xml}{glStencilFuncSeparate()}.-
1748*/-
1749-
1750/*!-
1751 \fn void QOpenGLFunctions::glStencilMaskSeparate(GLenum face, GLuint mask)-
1752-
1753 Convenience function that calls glStencilMaskSeparate(\a face, \a mask).-
1754-
1755 For more information, see the OpenGL ES 2.0 documentation for-
1756 \l{http://www.khronos.org/opengles/sdk/docs/man/glStencilMaskSeparate.xml}{glStencilMaskSeparate()}.-
1757*/-
1758-
1759/*!-
1760 \fn void QOpenGLFunctions::glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)-
1761-
1762 Convenience function that calls glStencilOpSeparate(\a face, \a fail, \a zfail, \a zpass).-
1763-
1764 For more information, see the OpenGL ES 2.0 documentation for-
1765 \l{http://www.khronos.org/opengles/sdk/docs/man/glStencilOpSeparate.xml}{glStencilOpSeparate()}.-
1766*/-
1767-
1768/*!-
1769 \fn void QOpenGLFunctions::glUniform1f(GLint location, GLfloat x)-
1770-
1771 Convenience function that calls glUniform1f(\a location, \a x).-
1772-
1773 For more information, see the OpenGL ES 2.0 documentation for-
1774 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform1f.xml}{glUniform1f()}.-
1775-
1776 This convenience function will do nothing on OpenGL ES 1.x systems.-
1777*/-
1778-
1779/*!-
1780 \fn void QOpenGLFunctions::glUniform1fv(GLint location, GLsizei count, const GLfloat* v)-
1781-
1782 Convenience function that calls glUniform1fv(\a location, \a count, \a v).-
1783-
1784 For more information, see the OpenGL ES 2.0 documentation for-
1785 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform1fv.xml}{glUniform1fv()}.-
1786-
1787 This convenience function will do nothing on OpenGL ES 1.x systems.-
1788*/-
1789-
1790/*!-
1791 \fn void QOpenGLFunctions::glUniform1i(GLint location, GLint x)-
1792-
1793 Convenience function that calls glUniform1i(\a location, \a x).-
1794-
1795 For more information, see the OpenGL ES 2.0 documentation for-
1796 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform1i.xml}{glUniform1i()}.-
1797-
1798 This convenience function will do nothing on OpenGL ES 1.x systems.-
1799*/-
1800-
1801/*!-
1802 \fn void QOpenGLFunctions::glUniform1iv(GLint location, GLsizei count, const GLint* v)-
1803-
1804 Convenience function that calls glUniform1iv(\a location, \a count, \a v).-
1805-
1806 For more information, see the OpenGL ES 2.0 documentation for-
1807 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform1iv.xml}{glUniform1iv()}.-
1808-
1809 This convenience function will do nothing on OpenGL ES 1.x systems.-
1810*/-
1811-
1812/*!-
1813 \fn void QOpenGLFunctions::glUniform2f(GLint location, GLfloat x, GLfloat y)-
1814-
1815 Convenience function that calls glUniform2f(\a location, \a x, \a y).-
1816-
1817 For more information, see the OpenGL ES 2.0 documentation for-
1818 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform2f.xml}{glUniform2f()}.-
1819-
1820 This convenience function will do nothing on OpenGL ES 1.x systems.-
1821*/-
1822-
1823/*!-
1824 \fn void QOpenGLFunctions::glUniform2fv(GLint location, GLsizei count, const GLfloat* v)-
1825-
1826 Convenience function that calls glUniform2fv(\a location, \a count, \a v).-
1827-
1828 For more information, see the OpenGL ES 2.0 documentation for-
1829 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform2fv.xml}{glUniform2fv()}.-
1830-
1831 This convenience function will do nothing on OpenGL ES 1.x systems.-
1832*/-
1833-
1834/*!-
1835 \fn void QOpenGLFunctions::glUniform2i(GLint location, GLint x, GLint y)-
1836-
1837 Convenience function that calls glUniform2i(\a location, \a x, \a y).-
1838-
1839 For more information, see the OpenGL ES 2.0 documentation for-
1840 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform2i.xml}{glUniform2i()}.-
1841-
1842 This convenience function will do nothing on OpenGL ES 1.x systems.-
1843*/-
1844-
1845/*!-
1846 \fn void QOpenGLFunctions::glUniform2iv(GLint location, GLsizei count, const GLint* v)-
1847-
1848 Convenience function that calls glUniform2iv(\a location, \a count, \a v).-
1849-
1850 For more information, see the OpenGL ES 2.0 documentation for-
1851 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform2iv.xml}{glUniform2iv()}.-
1852-
1853 This convenience function will do nothing on OpenGL ES 1.x systems.-
1854*/-
1855-
1856/*!-
1857 \fn void QOpenGLFunctions::glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)-
1858-
1859 Convenience function that calls glUniform3f(\a location, \a x, \a y, \a z).-
1860-
1861 For more information, see the OpenGL ES 2.0 documentation for-
1862 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform3f.xml}{glUniform3f()}.-
1863-
1864 This convenience function will do nothing on OpenGL ES 1.x systems.-
1865*/-
1866-
1867/*!-
1868 \fn void QOpenGLFunctions::glUniform3fv(GLint location, GLsizei count, const GLfloat* v)-
1869-
1870 Convenience function that calls glUniform3fv(\a location, \a count, \a v).-
1871-
1872 For more information, see the OpenGL ES 2.0 documentation for-
1873 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform3fv.xml}{glUniform3fv()}.-
1874-
1875 This convenience function will do nothing on OpenGL ES 1.x systems.-
1876*/-
1877-
1878/*!-
1879 \fn void QOpenGLFunctions::glUniform3i(GLint location, GLint x, GLint y, GLint z)-
1880-
1881 Convenience function that calls glUniform3i(\a location, \a x, \a y, \a z).-
1882-
1883 For more information, see the OpenGL ES 2.0 documentation for-
1884 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform3i.xml}{glUniform3i()}.-
1885-
1886 This convenience function will do nothing on OpenGL ES 1.x systems.-
1887*/-
1888-
1889/*!-
1890 \fn void QOpenGLFunctions::glUniform3iv(GLint location, GLsizei count, const GLint* v)-
1891-
1892 Convenience function that calls glUniform3iv(\a location, \a count, \a v).-
1893-
1894 For more information, see the OpenGL ES 2.0 documentation for-
1895 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform3iv.xml}{glUniform3iv()}.-
1896-
1897 This convenience function will do nothing on OpenGL ES 1.x systems.-
1898*/-
1899-
1900/*!-
1901 \fn void QOpenGLFunctions::glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)-
1902-
1903 Convenience function that calls glUniform4f(\a location, \a x, \a y, \a z, \a w).-
1904-
1905 For more information, see the OpenGL ES 2.0 documentation for-
1906 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform4f.xml}{glUniform4f()}.-
1907-
1908 This convenience function will do nothing on OpenGL ES 1.x systems.-
1909*/-
1910-
1911/*!-
1912 \fn void QOpenGLFunctions::glUniform4fv(GLint location, GLsizei count, const GLfloat* v)-
1913-
1914 Convenience function that calls glUniform4fv(\a location, \a count, \a v).-
1915-
1916 For more information, see the OpenGL ES 2.0 documentation for-
1917 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform4fv.xml}{glUniform4fv()}.-
1918-
1919 This convenience function will do nothing on OpenGL ES 1.x systems.-
1920*/-
1921-
1922/*!-
1923 \fn void QOpenGLFunctions::glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)-
1924-
1925 Convenience function that calls glUniform4i(\a location, \a x, \a y, \a z, \a w).-
1926-
1927 For more information, see the OpenGL ES 2.0 documentation for-
1928 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform4i.xml}{glUniform4i()}.-
1929-
1930 This convenience function will do nothing on OpenGL ES 1.x systems.-
1931*/-
1932-
1933/*!-
1934 \fn void QOpenGLFunctions::glUniform4iv(GLint location, GLsizei count, const GLint* v)-
1935-
1936 Convenience function that calls glUniform4iv(\a location, \a count, \a v).-
1937-
1938 For more information, see the OpenGL ES 2.0 documentation for-
1939 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniform4iv.xml}{glUniform4iv()}.-
1940-
1941 This convenience function will do nothing on OpenGL ES 1.x systems.-
1942*/-
1943-
1944/*!-
1945 \fn void QOpenGLFunctions::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)-
1946-
1947 Convenience function that calls glUniformMatrix2fv(\a location, \a count, \a transpose, \a value).-
1948-
1949 For more information, see the OpenGL ES 2.0 documentation for-
1950 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniformMatrix2fv.xml}{glUniformMatrix2fv()}.-
1951-
1952 This convenience function will do nothing on OpenGL ES 1.x systems.-
1953*/-
1954-
1955/*!-
1956 \fn void QOpenGLFunctions::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)-
1957-
1958 Convenience function that calls glUniformMatrix3fv(\a location, \a count, \a transpose, \a value).-
1959-
1960 For more information, see the OpenGL ES 2.0 documentation for-
1961 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniformMatrix3fv.xml}{glUniformMatrix3fv()}.-
1962-
1963 This convenience function will do nothing on OpenGL ES 1.x systems.-
1964*/-
1965-
1966/*!-
1967 \fn void QOpenGLFunctions::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)-
1968-
1969 Convenience function that calls glUniformMatrix4fv(\a location, \a count, \a transpose, \a value).-
1970-
1971 For more information, see the OpenGL ES 2.0 documentation for-
1972 \l{http://www.khronos.org/opengles/sdk/docs/man/glUniformMatrix4fv.xml}{glUniformMatrix4fv()}.-
1973-
1974 This convenience function will do nothing on OpenGL ES 1.x systems.-
1975*/-
1976-
1977/*!-
1978 \fn void QOpenGLFunctions::glUseProgram(GLuint program)-
1979-
1980 Convenience function that calls glUseProgram(\a program).-
1981-
1982 For more information, see the OpenGL ES 2.0 documentation for-
1983 \l{http://www.khronos.org/opengles/sdk/docs/man/glUseProgram.xml}{glUseProgram()}.-
1984-
1985 This convenience function will do nothing on OpenGL ES 1.x systems.-
1986*/-
1987-
1988/*!-
1989 \fn void QOpenGLFunctions::glValidateProgram(GLuint program)-
1990-
1991 Convenience function that calls glValidateProgram(\a program).-
1992-
1993 For more information, see the OpenGL ES 2.0 documentation for-
1994 \l{http://www.khronos.org/opengles/sdk/docs/man/glValidateProgram.xml}{glValidateProgram()}.-
1995-
1996 This convenience function will do nothing on OpenGL ES 1.x systems.-
1997*/-
1998-
1999/*!-
2000 \fn void QOpenGLFunctions::glVertexAttrib1f(GLuint indx, GLfloat x)-
2001-
2002 Convenience function that calls glVertexAttrib1f(\a indx, \a x).-
2003-
2004 For more information, see the OpenGL ES 2.0 documentation for-
2005 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib1f.xml}{glVertexAttrib1f()}.-
2006-
2007 This convenience function will do nothing on OpenGL ES 1.x systems.-
2008*/-
2009-
2010/*!-
2011 \fn void QOpenGLFunctions::glVertexAttrib1fv(GLuint indx, const GLfloat* values)-
2012-
2013 Convenience function that calls glVertexAttrib1fv(\a indx, \a values).-
2014-
2015 For more information, see the OpenGL ES 2.0 documentation for-
2016 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib1fv.xml}{glVertexAttrib1fv()}.-
2017-
2018 This convenience function will do nothing on OpenGL ES 1.x systems.-
2019*/-
2020-
2021/*!-
2022 \fn void QOpenGLFunctions::glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y)-
2023-
2024 Convenience function that calls glVertexAttrib2f(\a indx, \a x, \a y).-
2025-
2026 For more information, see the OpenGL ES 2.0 documentation for-
2027 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib2f.xml}{glVertexAttrib2f()}.-
2028-
2029 This convenience function will do nothing on OpenGL ES 1.x systems.-
2030*/-
2031-
2032/*!-
2033 \fn void QOpenGLFunctions::glVertexAttrib2fv(GLuint indx, const GLfloat* values)-
2034-
2035 Convenience function that calls glVertexAttrib2fv(\a indx, \a values).-
2036-
2037 For more information, see the OpenGL ES 2.0 documentation for-
2038 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib2fv.xml}{glVertexAttrib2fv()}.-
2039-
2040 This convenience function will do nothing on OpenGL ES 1.x systems.-
2041*/-
2042-
2043/*!-
2044 \fn void QOpenGLFunctions::glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z)-
2045-
2046 Convenience function that calls glVertexAttrib3f(\a indx, \a x, \a y, \a z).-
2047-
2048 For more information, see the OpenGL ES 2.0 documentation for-
2049 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib3f.xml}{glVertexAttrib3f()}.-
2050-
2051 This convenience function will do nothing on OpenGL ES 1.x systems.-
2052*/-
2053-
2054/*!-
2055 \fn void QOpenGLFunctions::glVertexAttrib3fv(GLuint indx, const GLfloat* values)-
2056-
2057 Convenience function that calls glVertexAttrib3fv(\a indx, \a values).-
2058-
2059 For more information, see the OpenGL ES 2.0 documentation for-
2060 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib3fv.xml}{glVertexAttrib3fv()}.-
2061-
2062 This convenience function will do nothing on OpenGL ES 1.x systems.-
2063*/-
2064-
2065/*!-
2066 \fn void QOpenGLFunctions::glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)-
2067-
2068 Convenience function that calls glVertexAttrib4f(\a indx, \a x, \a y, \a z, \a w).-
2069-
2070 For more information, see the OpenGL ES 2.0 documentation for-
2071 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib4f.xml}{glVertexAttrib4f()}.-
2072-
2073 This convenience function will do nothing on OpenGL ES 1.x systems.-
2074*/-
2075-
2076/*!-
2077 \fn void QOpenGLFunctions::glVertexAttrib4fv(GLuint indx, const GLfloat* values)-
2078-
2079 Convenience function that calls glVertexAttrib4fv(\a indx, \a values).-
2080-
2081 For more information, see the OpenGL ES 2.0 documentation for-
2082 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttrib4fv.xml}{glVertexAttrib4fv()}.-
2083-
2084 This convenience function will do nothing on OpenGL ES 1.x systems.-
2085*/-
2086-
2087/*!-
2088 \fn void QOpenGLFunctions::glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr)-
2089-
2090 Convenience function that calls glVertexAttribPointer(\a indx, \a size, \a type, \a normalized, \a stride, \a ptr).-
2091-
2092 For more information, see the OpenGL ES 2.0 documentation for-
2093 \l{http://www.khronos.org/opengles/sdk/docs/man/glVertexAttribPointer.xml}{glVertexAttribPointer()}.-
2094-
2095 This convenience function will do nothing on OpenGL ES 1.x systems.-
2096*/-
2097-
2098/*!-
2099 \fn bool QOpenGLFunctions::isInitialized(const QOpenGLFunctionsPrivate *d)-
2100 \internal-
2101*/-
2102-
2103namespace {-
2104-
2105// this function tries hard to get the opengl function we're looking for by also-
2106// trying to resolve it with some of the common extensions if the generic name-
2107// can't be found.-
2108static QFunctionPointer getProcAddress(QOpenGLContext *context, const char *funcName)-
2109{-
2110 QFunctionPointer function = context->getProcAddress(funcName);-
2111-
2112 static const struct {-
2113 const char *name;-
2114 int len; // includes trailing \0-
2115 } extensions[] = {-
2116 { "ARB", 4 },-
2117 { "OES", 4 },-
2118 { "EXT", 4 },-
2119 { "ANGLE", 6 },-
2120 { "NV", 3 },-
2121 };-
2122-
2123 if (!function) {
!functionDescription
TRUEnever evaluated
FALSEnever evaluated
0
2124 char fn[512];-
2125 size_t size = strlen(funcName);-
2126 Q_ASSERT(size < 500);-
2127 memcpy(fn, funcName, size);-
2128 char *ext = fn + size;-
2129-
2130 for (const auto &e : extensions) {-
2131 memcpy(ext, e.name, e.len);-
2132 function = context->getProcAddress(fn);-
2133 if (function)
functionDescription
TRUEnever evaluated
FALSEnever evaluated
0
2134 break;
never executed: break;
0
2135 }
never executed: end of block
0
2136 }
never executed: end of block
0
2137-
2138 return function;
never executed: return function;
0
2139}-
2140-
2141template <typename Func>-
2142Func resolve(QOpenGLContext *context, const char *name, Func)-
2143{-
2144 return reinterpret_cast<Func>(getProcAddress(context, name));
never executed: return reinterpret_cast<Func>(getProcAddress(context, name));
0
2145}-
2146-
2147}-
2148-
2149#define RESOLVE(name) \-
2150 resolve(context, "gl"#name, name)-
2151-
2152#ifndef QT_OPENGL_ES_2-
2153-
2154// some fallback functions-
2155static void QOPENGLF_APIENTRY qopenglfSpecialClearDepthf(GLclampf depth)-
2156{-
2157 QOpenGLContext *context = QOpenGLContext::currentContext();-
2158 QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);-
2159 funcs->f.ClearDepth((GLdouble) depth);-
2160}
never executed: end of block
0
2161-
2162static void QOPENGLF_APIENTRY qopenglfSpecialDepthRangef(GLclampf zNear, GLclampf zFar)-
2163{-
2164 QOpenGLContext *context = QOpenGLContext::currentContext();-
2165 QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context);-
2166 funcs->f.DepthRange((GLdouble) zNear, (GLdouble) zFar);-
2167}
never executed: end of block
0
2168-
2169static void QOPENGLF_APIENTRY qopenglfSpecialGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)-
2170{-
2171 Q_UNUSED(shadertype);-
2172 Q_UNUSED(precisiontype);-
2173 range[0] = range[1] = precision[0] = 0;-
2174}
never executed: end of block
0
2175-
2176static GLboolean QOPENGLF_APIENTRY qopenglfSpecialIsProgram(GLuint program)-
2177{-
2178 return program != 0;
never executed: return program != 0;
0
2179}-
2180-
2181static GLboolean QOPENGLF_APIENTRY qopenglfSpecialIsShader(GLuint shader)-
2182{-
2183 return shader != 0;
never executed: return shader != 0;
0
2184}-
2185-
2186static void QOPENGLF_APIENTRY qopenglfSpecialReleaseShaderCompiler()-
2187{-
2188}-
2189-
2190#endif // !QT_OPENGL_ES_2-
2191-
2192-
2193QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(QOpenGLContext *c)-
2194{-
2195 init(c);-
2196-
2197#ifndef QT_OPENGL_ES_2-
2198 // setup fallbacks in case some methods couldn't get resolved-
2199 if (!f.ClearDepthf)
!f.ClearDepthfDescription
TRUEnever evaluated
FALSEnever evaluated
0
2200 f.ClearDepthf = qopenglfSpecialClearDepthf;
never executed: f.ClearDepthf = qopenglfSpecialClearDepthf;
0
2201 if (!f.DepthRangef)
!f.DepthRangefDescription
TRUEnever evaluated
FALSEnever evaluated
0
2202 f.DepthRangef = qopenglfSpecialDepthRangef;
never executed: f.DepthRangef = qopenglfSpecialDepthRangef;
0
2203 if (!f.GetShaderPrecisionFormat)
!f.GetShaderPrecisionFormatDescription
TRUEnever evaluated
FALSEnever evaluated
0
2204 f.GetShaderPrecisionFormat = qopenglfSpecialGetShaderPrecisionFormat;
never executed: f.GetShaderPrecisionFormat = qopenglfSpecialGetShaderPrecisionFormat;
0
2205 if (!f.IsProgram)
!f.IsProgramDescription
TRUEnever evaluated
FALSEnever evaluated
0
2206 f.IsProgram = qopenglfSpecialIsProgram;
never executed: f.IsProgram = qopenglfSpecialIsProgram;
0
2207 if (!f.IsShader)
!f.IsShaderDescription
TRUEnever evaluated
FALSEnever evaluated
0
2208 f.IsShader = qopenglfSpecialIsShader;
never executed: f.IsShader = qopenglfSpecialIsShader;
0
2209 if (!f.ReleaseShaderCompiler)
!f.ReleaseShaderCompilerDescription
TRUEnever evaluated
FALSEnever evaluated
0
2210 f.ReleaseShaderCompiler = qopenglfSpecialReleaseShaderCompiler;
never executed: f.ReleaseShaderCompiler = qopenglfSpecialReleaseShaderCompiler;
0
2211#endif-
2212}
never executed: end of block
0
2213-
2214-
2215QT_OPENGL_IMPLEMENT(QOpenGLFunctionsPrivate, QT_OPENGL_FUNCTIONS)
never executed: end of block
never executed: end of block
i < +1 +1 +1 +...+1 +1 +1 +1 +1Description
TRUEnever evaluated
FALSEnever evaluated
0
2216-
2217/*!-
2218 \class QOpenGLExtraFunctions-
2219 \brief The QOpenGLExtraFunctions class provides cross-platform access to the OpenGL ES 3.0 and 3.1 API.-
2220 \since 5.6-
2221 \ingroup painting-3D-
2222 \inmodule QtGui-
2223-
2224 This subclass of QOpenGLFunctions includes the OpenGL ES 3.0 and 3.1-
2225 functions. These will only work when an OpenGL ES 3.0 or 3.1 context, or an-
2226 OpenGL context of a version containing the functions in question either in-
2227 core or as extension, is in use. This allows developing GLES 3.0 and 3.1-
2228 applications in a cross-platform manner: development can happen on a desktop-
2229 platform with OpenGL 3.x or 4.x, deploying to a real GLES 3.1 device later-
2230 on will require no or minimal changes to the application.-
2231-
2232 \note This class is different from the versioned OpenGL wrappers, for-
2233 instance QOpenGLFunctions_3_2_Core. The versioned function wrappers target a-
2234 given version and profile of OpenGL. They are therefore not suitable for-
2235 cross-OpenGL-OpenGLES development.-
2236 */-
2237-
2238/*!-
2239 \fn void QOpenGLExtraFunctions::glBeginQuery(GLenum target, GLuint id)-
2240-
2241 Convenience function that calls glBeginQuery(\a target, \a id).-
2242-
2243 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2244 with plain OpenGL, the function is only usable when the given profile and version contains the-
2245 function either in core or as an extension.-
2246-
2247 For more information, see the OpenGL ES 3.x documentation for-
2248 \l{http://www.khronos.org/opengles/sdk/docs/man31/glBeginQuery.xml}{glBeginQuery()}.-
2249*/-
2250-
2251/*!-
2252 \fn void QOpenGLExtraFunctions::glBeginTransformFeedback(GLenum primitiveMode)-
2253-
2254 Convenience function that calls glBeginTransformFeedback(\a primitiveMode).-
2255-
2256 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2257 with plain OpenGL, the function is only usable when the given profile and version contains the-
2258 function either in core or as an extension.-
2259-
2260 For more information, see the OpenGL ES 3.x documentation for-
2261 \l{http://www.khronos.org/opengles/sdk/docs/man31/glBeginTransformFeedback.xml}{glBeginTransformFeedback()}.-
2262*/-
2263-
2264/*!-
2265 \fn void QOpenGLExtraFunctions::glBindBufferBase(GLenum target, GLuint index, GLuint buffer)-
2266-
2267 Convenience function that calls glBindBufferBase(\a target, \a index, \a buffer).-
2268-
2269 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2270 with plain OpenGL, the function is only usable when the given profile and version contains the-
2271 function either in core or as an extension.-
2272-
2273 For more information, see the OpenGL ES 3.x documentation for-
2274 \l{http://www.khronos.org/opengles/sdk/docs/man31/glBindBufferBase.xml}{glBindBufferBase()}.-
2275*/-
2276-
2277/*!-
2278 \fn void QOpenGLExtraFunctions::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)-
2279-
2280 Convenience function that calls glBindBufferRange(\a target, \a index, \a buffer, \a offset, \a size).-
2281-
2282 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2283 with plain OpenGL, the function is only usable when the given profile and version contains the-
2284 function either in core or as an extension.-
2285-
2286 For more information, see the OpenGL ES 3.x documentation for-
2287 \l{http://www.khronos.org/opengles/sdk/docs/man31/glBindBufferRange.xml}{glBindBufferRange()}.-
2288*/-
2289-
2290/*!-
2291 \fn void QOpenGLExtraFunctions::glBindSampler(GLuint unit, GLuint sampler)-
2292-
2293 Convenience function that calls glBindSampler(\a unit, \a sampler).-
2294-
2295 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2296 with plain OpenGL, the function is only usable when the given profile and version contains the-
2297 function either in core or as an extension.-
2298-
2299 For more information, see the OpenGL ES 3.x documentation for-
2300 \l{http://www.khronos.org/opengles/sdk/docs/man31/glBindSampler.xml}{glBindSampler()}.-
2301*/-
2302-
2303/*!-
2304 \fn void QOpenGLExtraFunctions::glBindTransformFeedback(GLenum target, GLuint id)-
2305-
2306 Convenience function that calls glBindTransformFeedback(\a target, \a id).-
2307-
2308 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2309 with plain OpenGL, the function is only usable when the given profile and version contains the-
2310 function either in core or as an extension.-
2311-
2312 For more information, see the OpenGL ES 3.x documentation for-
2313 \l{http://www.khronos.org/opengles/sdk/docs/man31/glBindTransformFeedback.xml}{glBindTransformFeedback()}.-
2314*/-
2315-
2316/*!-
2317 \fn void QOpenGLExtraFunctions::glBindVertexArray(GLuint array)-
2318-
2319 Convenience function that calls glBindVertexArray(\a array).-
2320-
2321 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2322 with plain OpenGL, the function is only usable when the given profile and version contains the-
2323 function either in core or as an extension.-
2324-
2325 For more information, see the OpenGL ES 3.x documentation for-
2326 \l{http://www.khronos.org/opengles/sdk/docs/man31/glBindVertexArray.xml}{glBindVertexArray()}.-
2327*/-
2328-
2329/*!-
2330 \fn void QOpenGLExtraFunctions::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)-
2331-
2332 Convenience function that calls glBlitFramebuffer(\a srcX0, \a srcY0, \a srcX1, \a srcY1, \a dstX0, \a dstY0, \a dstX1, \a dstY1, \a mask, \a filter).-
2333-
2334 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2335 with plain OpenGL, the function is only usable when the given profile and version contains the-
2336 function either in core or as an extension.-
2337-
2338 For more information, see the OpenGL ES 3.x documentation for-
2339 \l{http://www.khronos.org/opengles/sdk/docs/man31/glBlitFramebuffer.xml}{glBlitFramebuffer()}.-
2340*/-
2341-
2342/*!-
2343 \fn void QOpenGLExtraFunctions::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)-
2344-
2345 Convenience function that calls glClearBufferfi(\a buffer, \a drawbuffer, \a depth, \a stencil).-
2346-
2347 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2348 with plain OpenGL, the function is only usable when the given profile and version contains the-
2349 function either in core or as an extension.-
2350-
2351 For more information, see the OpenGL ES 3.x documentation for-
2352 \l{http://www.khronos.org/opengles/sdk/docs/man31/glClearBufferfi.xml}{glClearBufferfi()}.-
2353*/-
2354-
2355/*!-
2356 \fn void QOpenGLExtraFunctions::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat * value)-
2357-
2358 Convenience function that calls glClearBufferfv(\a buffer, \a drawbuffer, \a value).-
2359-
2360 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2361 with plain OpenGL, the function is only usable when the given profile and version contains the-
2362 function either in core or as an extension.-
2363-
2364 For more information, see the OpenGL ES 3.x documentation for-
2365 \l{http://www.khronos.org/opengles/sdk/docs/man31/glClearBufferfv.xml}{glClearBufferfv()}.-
2366*/-
2367-
2368/*!-
2369 \fn void QOpenGLExtraFunctions::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint * value)-
2370-
2371 Convenience function that calls glClearBufferiv(\a buffer, \a drawbuffer, \a value).-
2372-
2373 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2374 with plain OpenGL, the function is only usable when the given profile and version contains the-
2375 function either in core or as an extension.-
2376-
2377 For more information, see the OpenGL ES 3.x documentation for-
2378 \l{http://www.khronos.org/opengles/sdk/docs/man31/glClearBufferiv.xml}{glClearBufferiv()}.-
2379*/-
2380-
2381/*!-
2382 \fn void QOpenGLExtraFunctions::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint * value)-
2383-
2384 Convenience function that calls glClearBufferuiv(\a buffer, \a drawbuffer, \a value).-
2385-
2386 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2387 with plain OpenGL, the function is only usable when the given profile and version contains the-
2388 function either in core or as an extension.-
2389-
2390 For more information, see the OpenGL ES 3.x documentation for-
2391 \l{http://www.khronos.org/opengles/sdk/docs/man31/glClearBufferuiv.xml}{glClearBufferuiv()}.-
2392*/-
2393-
2394/*!-
2395 \fn GLenum QOpenGLExtraFunctions::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)-
2396-
2397 Convenience function that calls glClientWaitSync(\a sync, \a flags, \a timeout).-
2398-
2399 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2400 with plain OpenGL, the function is only usable when the given profile and version contains the-
2401 function either in core or as an extension.-
2402-
2403 For more information, see the OpenGL ES 3.x documentation for-
2404 \l{http://www.khronos.org/opengles/sdk/docs/man31/glClientWaitSync.xml}{glClientWaitSync()}.-
2405*/-
2406-
2407/*!-
2408 \fn void QOpenGLExtraFunctions::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data)-
2409-
2410 Convenience function that calls glCompressedTexImage3D(\a target, \a level, \a internalformat, \a width, \a height, \a depth, \a border, \a imageSize, \a data).-
2411-
2412 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2413 with plain OpenGL, the function is only usable when the given profile and version contains the-
2414 function either in core or as an extension.-
2415-
2416 For more information, see the OpenGL ES 3.x documentation for-
2417 \l{http://www.khronos.org/opengles/sdk/docs/man31/glCompressedTexImage3D.xml}{glCompressedTexImage3D()}.-
2418*/-
2419-
2420/*!-
2421 \fn void QOpenGLExtraFunctions::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data)-
2422-
2423 Convenience function that calls glCompressedTexSubImage3D(\a target, \a level, \a xoffset, \a yoffset, \a zoffset, \a width, \a height, \a depth, \a format, \a imageSize, \a data).-
2424-
2425 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2426 with plain OpenGL, the function is only usable when the given profile and version contains the-
2427 function either in core or as an extension.-
2428-
2429 For more information, see the OpenGL ES 3.x documentation for-
2430 \l{http://www.khronos.org/opengles/sdk/docs/man31/glCompressedTexSubImage3D.xml}{glCompressedTexSubImage3D()}.-
2431*/-
2432-
2433/*!-
2434 \fn void QOpenGLExtraFunctions::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)-
2435-
2436 Convenience function that calls glCopyBufferSubData(\a readTarget, \a writeTarget, \a readOffset, \a writeOffset, \a size).-
2437-
2438 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2439 with plain OpenGL, the function is only usable when the given profile and version contains the-
2440 function either in core or as an extension.-
2441-
2442 For more information, see the OpenGL ES 3.x documentation for-
2443 \l{http://www.khronos.org/opengles/sdk/docs/man31/glCopyBufferSubData.xml}{glCopyBufferSubData()}.-
2444*/-
2445-
2446/*!-
2447 \fn void QOpenGLExtraFunctions::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)-
2448-
2449 Convenience function that calls glCopyTexSubImage3D(\a target, \a level, \a xoffset, \a yoffset, \a zoffset, \a x, \a y, \a width, \a height).-
2450-
2451 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2452 with plain OpenGL, the function is only usable when the given profile and version contains the-
2453 function either in core or as an extension.-
2454-
2455 For more information, see the OpenGL ES 3.x documentation for-
2456 \l{http://www.khronos.org/opengles/sdk/docs/man31/glCopyTexSubImage3D.xml}{glCopyTexSubImage3D()}.-
2457*/-
2458-
2459/*!-
2460 \fn void QOpenGLExtraFunctions::glDeleteQueries(GLsizei n, const GLuint * ids)-
2461-
2462 Convenience function that calls glDeleteQueries(\a n, \a ids).-
2463-
2464 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2465 with plain OpenGL, the function is only usable when the given profile and version contains the-
2466 function either in core or as an extension.-
2467-
2468 For more information, see the OpenGL ES 3.x documentation for-
2469 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDeleteQueries.xml}{glDeleteQueries()}.-
2470*/-
2471-
2472/*!-
2473 \fn void QOpenGLExtraFunctions::glDeleteSamplers(GLsizei count, const GLuint * samplers)-
2474-
2475 Convenience function that calls glDeleteSamplers(\a count, \a samplers).-
2476-
2477 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2478 with plain OpenGL, the function is only usable when the given profile and version contains the-
2479 function either in core or as an extension.-
2480-
2481 For more information, see the OpenGL ES 3.x documentation for-
2482 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDeleteSamplers.xml}{glDeleteSamplers()}.-
2483*/-
2484-
2485/*!-
2486 \fn void QOpenGLExtraFunctions::glDeleteSync(GLsync sync)-
2487-
2488 Convenience function that calls glDeleteSync(\a sync).-
2489-
2490 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2491 with plain OpenGL, the function is only usable when the given profile and version contains the-
2492 function either in core or as an extension.-
2493-
2494 For more information, see the OpenGL ES 3.x documentation for-
2495 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDeleteSync.xml}{glDeleteSync()}.-
2496*/-
2497-
2498/*!-
2499 \fn void QOpenGLExtraFunctions::glDeleteTransformFeedbacks(GLsizei n, const GLuint * ids)-
2500-
2501 Convenience function that calls glDeleteTransformFeedbacks(\a n, \a ids).-
2502-
2503 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2504 with plain OpenGL, the function is only usable when the given profile and version contains the-
2505 function either in core or as an extension.-
2506-
2507 For more information, see the OpenGL ES 3.x documentation for-
2508 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDeleteTransformFeedbacks.xml}{glDeleteTransformFeedbacks()}.-
2509*/-
2510-
2511/*!-
2512 \fn void QOpenGLExtraFunctions::glDeleteVertexArrays(GLsizei n, const GLuint * arrays)-
2513-
2514 Convenience function that calls glDeleteVertexArrays(\a n, \a arrays).-
2515-
2516 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2517 with plain OpenGL, the function is only usable when the given profile and version contains the-
2518 function either in core or as an extension.-
2519-
2520 For more information, see the OpenGL ES 3.x documentation for-
2521 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDeleteVertexArrays.xml}{glDeleteVertexArrays()}.-
2522*/-
2523-
2524/*!-
2525 \fn void QOpenGLExtraFunctions::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount)-
2526-
2527 Convenience function that calls glDrawArraysInstanced(\a mode, \a first, \a count, \a instancecount).-
2528-
2529 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2530 with plain OpenGL, the function is only usable when the given profile and version contains the-
2531 function either in core or as an extension.-
2532-
2533 For more information, see the OpenGL ES 3.x documentation for-
2534 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDrawArraysInstanced.xml}{glDrawArraysInstanced()}.-
2535*/-
2536-
2537/*!-
2538 \fn void QOpenGLExtraFunctions::glDrawBuffers(GLsizei n, const GLenum * bufs)-
2539-
2540 Convenience function that calls glDrawBuffers(\a n, \a bufs).-
2541-
2542 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2543 with plain OpenGL, the function is only usable when the given profile and version contains the-
2544 function either in core or as an extension.-
2545-
2546 For more information, see the OpenGL ES 3.x documentation for-
2547 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDrawBuffers.xml}{glDrawBuffers()}.-
2548*/-
2549-
2550/*!-
2551 \fn void QOpenGLExtraFunctions::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount)-
2552-
2553 Convenience function that calls glDrawElementsInstanced(\a mode, \a count, \a type, \a indices, \a instancecount).-
2554-
2555 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2556 with plain OpenGL, the function is only usable when the given profile and version contains the-
2557 function either in core or as an extension.-
2558-
2559 For more information, see the OpenGL ES 3.x documentation for-
2560 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDrawElementsInstanced.xml}{glDrawElementsInstanced()}.-
2561*/-
2562-
2563/*!-
2564 \fn void QOpenGLExtraFunctions::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices)-
2565-
2566 Convenience function that calls glDrawRangeElements(\a mode, \a start, \a end, \a count, \a type, \a indices).-
2567-
2568 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2569 with plain OpenGL, the function is only usable when the given profile and version contains the-
2570 function either in core or as an extension.-
2571-
2572 For more information, see the OpenGL ES 3.x documentation for-
2573 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDrawRangeElements.xml}{glDrawRangeElements()}.-
2574*/-
2575-
2576/*!-
2577 \fn void QOpenGLExtraFunctions::glEndQuery(GLenum target)-
2578-
2579 Convenience function that calls glEndQuery(\a target).-
2580-
2581 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2582 with plain OpenGL, the function is only usable when the given profile and version contains the-
2583 function either in core or as an extension.-
2584-
2585 For more information, see the OpenGL ES 3.x documentation for-
2586 \l{http://www.khronos.org/opengles/sdk/docs/man31/glEndQuery.xml}{glEndQuery()}.-
2587*/-
2588-
2589/*!-
2590 \fn void QOpenGLExtraFunctions::glEndTransformFeedback(void)-
2591-
2592 Convenience function that calls glEndTransformFeedback().-
2593-
2594 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2595 with plain OpenGL, the function is only usable when the given profile and version contains the-
2596 function either in core or as an extension.-
2597-
2598 For more information, see the OpenGL ES 3.x documentation for-
2599 \l{http://www.khronos.org/opengles/sdk/docs/man31/glEndTransformFeedback.xml}{glEndTransformFeedback()}.-
2600*/-
2601-
2602/*!-
2603 \fn GLsync QOpenGLExtraFunctions::glFenceSync(GLenum condition, GLbitfield flags)-
2604-
2605 Convenience function that calls glFenceSync(\a condition, \a flags).-
2606-
2607 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2608 with plain OpenGL, the function is only usable when the given profile and version contains the-
2609 function either in core or as an extension.-
2610-
2611 For more information, see the OpenGL ES 3.x documentation for-
2612 \l{http://www.khronos.org/opengles/sdk/docs/man31/glFenceSync.xml}{glFenceSync()}.-
2613*/-
2614-
2615/*!-
2616 \fn void QOpenGLExtraFunctions::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)-
2617-
2618 Convenience function that calls glFlushMappedBufferRange(\a target, \a offset, \a length).-
2619-
2620 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2621 with plain OpenGL, the function is only usable when the given profile and version contains the-
2622 function either in core or as an extension.-
2623-
2624 For more information, see the OpenGL ES 3.x documentation for-
2625 \l{http://www.khronos.org/opengles/sdk/docs/man31/glFlushMappedBufferRange.xml}{glFlushMappedBufferRange()}.-
2626*/-
2627-
2628/*!-
2629 \fn void QOpenGLExtraFunctions::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)-
2630-
2631 Convenience function that calls glFramebufferTextureLayer(\a target, \a attachment, \a texture, \a level, \a layer).-
2632-
2633 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2634 with plain OpenGL, the function is only usable when the given profile and version contains the-
2635 function either in core or as an extension.-
2636-
2637 For more information, see the OpenGL ES 3.x documentation for-
2638 \l{http://www.khronos.org/opengles/sdk/docs/man31/glFramebufferTextureLayer.xml}{glFramebufferTextureLayer()}.-
2639*/-
2640-
2641/*!-
2642 \fn void QOpenGLExtraFunctions::glGenQueries(GLsizei n, GLuint* ids)-
2643-
2644 Convenience function that calls glGenQueries(\a n, \a ids).-
2645-
2646 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2647 with plain OpenGL, the function is only usable when the given profile and version contains the-
2648 function either in core or as an extension.-
2649-
2650 For more information, see the OpenGL ES 3.x documentation for-
2651 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGenQueries.xml}{glGenQueries()}.-
2652*/-
2653-
2654/*!-
2655 \fn void QOpenGLExtraFunctions::glGenSamplers(GLsizei count, GLuint* samplers)-
2656-
2657 Convenience function that calls glGenSamplers(\a count, \a samplers).-
2658-
2659 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2660 with plain OpenGL, the function is only usable when the given profile and version contains the-
2661 function either in core or as an extension.-
2662-
2663 For more information, see the OpenGL ES 3.x documentation for-
2664 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGenSamplers.xml}{glGenSamplers()}.-
2665*/-
2666-
2667/*!-
2668 \fn void QOpenGLExtraFunctions::glGenTransformFeedbacks(GLsizei n, GLuint* ids)-
2669-
2670 Convenience function that calls glGenTransformFeedbacks(\a n, \a ids).-
2671-
2672 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2673 with plain OpenGL, the function is only usable when the given profile and version contains the-
2674 function either in core or as an extension.-
2675-
2676 For more information, see the OpenGL ES 3.x documentation for-
2677 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGenTransformFeedbacks.xml}{glGenTransformFeedbacks()}.-
2678*/-
2679-
2680/*!-
2681 \fn void QOpenGLExtraFunctions::glGenVertexArrays(GLsizei n, GLuint* arrays)-
2682-
2683 Convenience function that calls glGenVertexArrays(\a n, \a arrays).-
2684-
2685 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2686 with plain OpenGL, the function is only usable when the given profile and version contains the-
2687 function either in core or as an extension.-
2688-
2689 For more information, see the OpenGL ES 3.x documentation for-
2690 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGenVertexArrays.xml}{glGenVertexArrays()}.-
2691*/-
2692-
2693/*!-
2694 \fn void QOpenGLExtraFunctions::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName)-
2695-
2696 Convenience function that calls glGetActiveUniformBlockName(\a program, \a uniformBlockIndex, \a bufSize, \a length, \a uniformBlockName).-
2697-
2698 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2699 with plain OpenGL, the function is only usable when the given profile and version contains the-
2700 function either in core or as an extension.-
2701-
2702 For more information, see the OpenGL ES 3.x documentation for-
2703 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetActiveUniformBlockName.xml}{glGetActiveUniformBlockName()}.-
2704*/-
2705-
2706/*!-
2707 \fn void QOpenGLExtraFunctions::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params)-
2708-
2709 Convenience function that calls glGetActiveUniformBlockiv(\a program, \a uniformBlockIndex, \a pname, \a params).-
2710-
2711 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2712 with plain OpenGL, the function is only usable when the given profile and version contains the-
2713 function either in core or as an extension.-
2714-
2715 For more information, see the OpenGL ES 3.x documentation for-
2716 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetActiveUniformBlockiv.xml}{glGetActiveUniformBlockiv()}.-
2717*/-
2718-
2719/*!-
2720 \fn void QOpenGLExtraFunctions::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint* params)-
2721-
2722 Convenience function that calls glGetActiveUniformsiv(\a program, \a uniformCount, \a uniformIndices, \a pname, \a params).-
2723-
2724 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2725 with plain OpenGL, the function is only usable when the given profile and version contains the-
2726 function either in core or as an extension.-
2727-
2728 For more information, see the OpenGL ES 3.x documentation for-
2729 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetActiveUniformsiv.xml}{glGetActiveUniformsiv()}.-
2730*/-
2731-
2732/*!-
2733 \fn void QOpenGLExtraFunctions::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64* params)-
2734-
2735 Convenience function that calls glGetBufferParameteri64v(\a target, \a pname, \a params).-
2736-
2737 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2738 with plain OpenGL, the function is only usable when the given profile and version contains the-
2739 function either in core or as an extension.-
2740-
2741 For more information, see the OpenGL ES 3.x documentation for-
2742 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetBufferParameteri64v.xml}{glGetBufferParameteri64v()}.-
2743*/-
2744-
2745/*!-
2746 \fn void QOpenGLExtraFunctions::glGetBufferPointerv(GLenum target, GLenum pname, void ** params)-
2747-
2748 Convenience function that calls glGetBufferPointerv(\a target, \a pname, \a params).-
2749-
2750 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2751 with plain OpenGL, the function is only usable when the given profile and version contains the-
2752 function either in core or as an extension.-
2753-
2754 For more information, see the OpenGL ES 3.x documentation for-
2755 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetBufferPointerv.xml}{glGetBufferPointerv()}.-
2756*/-
2757-
2758/*!-
2759 \fn GLint QOpenGLExtraFunctions::glGetFragDataLocation(GLuint program, const GLchar * name)-
2760-
2761 Convenience function that calls glGetFragDataLocation(\a program, \a name).-
2762-
2763 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2764 with plain OpenGL, the function is only usable when the given profile and version contains the-
2765 function either in core or as an extension.-
2766-
2767 For more information, see the OpenGL ES 3.x documentation for-
2768 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetFragDataLocation.xml}{glGetFragDataLocation()}.-
2769*/-
2770-
2771/*!-
2772 \fn void QOpenGLExtraFunctions::glGetInteger64i_v(GLenum target, GLuint index, GLint64* data)-
2773-
2774 Convenience function that calls glGetInteger64i_v(\a target, \a index, \a data).-
2775-
2776 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2777 with plain OpenGL, the function is only usable when the given profile and version contains the-
2778 function either in core or as an extension.-
2779-
2780 For more information, see the OpenGL ES 3.x documentation for-
2781 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetInteger64i_v.xml}{glGetInteger64i_v()}.-
2782*/-
2783-
2784/*!-
2785 \fn void QOpenGLExtraFunctions::glGetInteger64v(GLenum pname, GLint64* data)-
2786-
2787 Convenience function that calls glGetInteger64v(\a pname, \a data).-
2788-
2789 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2790 with plain OpenGL, the function is only usable when the given profile and version contains the-
2791 function either in core or as an extension.-
2792-
2793 For more information, see the OpenGL ES 3.x documentation for-
2794 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetInteger64v.xml}{glGetInteger64v()}.-
2795*/-
2796-
2797/*!-
2798 \fn void QOpenGLExtraFunctions::glGetIntegeri_v(GLenum target, GLuint index, GLint* data)-
2799-
2800 Convenience function that calls glGetIntegeri_v(\a target, \a index, \a data).-
2801-
2802 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2803 with plain OpenGL, the function is only usable when the given profile and version contains the-
2804 function either in core or as an extension.-
2805-
2806 For more information, see the OpenGL ES 3.x documentation for-
2807 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetIntegeri_v.xml}{glGetIntegeri_v()}.-
2808*/-
2809-
2810/*!-
2811 \fn void QOpenGLExtraFunctions::glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params)-
2812-
2813 Convenience function that calls glGetInternalformativ(\a target, \a internalformat, \a pname, \a bufSize, \a params).-
2814-
2815 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2816 with plain OpenGL, the function is only usable when the given profile and version contains the-
2817 function either in core or as an extension.-
2818-
2819 For more information, see the OpenGL ES 3.x documentation for-
2820 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetInternalformativ.xml}{glGetInternalformativ()}.-
2821*/-
2822-
2823/*!-
2824 \fn void QOpenGLExtraFunctions::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void * binary)-
2825-
2826 Convenience function that calls glGetProgramBinary(\a program, \a bufSize, \a length, \a binaryFormat, \a binary).-
2827-
2828 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2829 with plain OpenGL, the function is only usable when the given profile and version contains the-
2830 function either in core or as an extension.-
2831-
2832 For more information, see the OpenGL ES 3.x documentation for-
2833 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetProgramBinary.xml}{glGetProgramBinary()}.-
2834*/-
2835-
2836/*!-
2837 \fn void QOpenGLExtraFunctions::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params)-
2838-
2839 Convenience function that calls glGetQueryObjectuiv(\a id, \a pname, \a params).-
2840-
2841 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2842 with plain OpenGL, the function is only usable when the given profile and version contains the-
2843 function either in core or as an extension.-
2844-
2845 For more information, see the OpenGL ES 3.x documentation for-
2846 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetQueryObjectuiv.xml}{glGetQueryObjectuiv()}.-
2847*/-
2848-
2849/*!-
2850 \fn void QOpenGLExtraFunctions::glGetQueryiv(GLenum target, GLenum pname, GLint* params)-
2851-
2852 Convenience function that calls glGetQueryiv(\a target, \a pname, \a params).-
2853-
2854 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2855 with plain OpenGL, the function is only usable when the given profile and version contains the-
2856 function either in core or as an extension.-
2857-
2858 For more information, see the OpenGL ES 3.x documentation for-
2859 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetQueryiv.xml}{glGetQueryiv()}.-
2860*/-
2861-
2862/*!-
2863 \fn void QOpenGLExtraFunctions::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params)-
2864-
2865 Convenience function that calls glGetSamplerParameterfv(\a sampler, \a pname, \a params).-
2866-
2867 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2868 with plain OpenGL, the function is only usable when the given profile and version contains the-
2869 function either in core or as an extension.-
2870-
2871 For more information, see the OpenGL ES 3.x documentation for-
2872 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetSamplerParameterfv.xml}{glGetSamplerParameterfv()}.-
2873*/-
2874-
2875/*!-
2876 \fn void QOpenGLExtraFunctions::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params)-
2877-
2878 Convenience function that calls glGetSamplerParameteriv(\a sampler, \a pname, \a params).-
2879-
2880 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2881 with plain OpenGL, the function is only usable when the given profile and version contains the-
2882 function either in core or as an extension.-
2883-
2884 For more information, see the OpenGL ES 3.x documentation for-
2885 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetSamplerParameteriv.xml}{glGetSamplerParameteriv()}.-
2886*/-
2887-
2888/*!-
2889 \fn const GLubyte * QOpenGLExtraFunctions::glGetStringi(GLenum name, GLuint index)-
2890-
2891 Convenience function that calls glGetStringi(\a name, \a index).-
2892-
2893 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2894 with plain OpenGL, the function is only usable when the given profile and version contains the-
2895 function either in core or as an extension.-
2896-
2897 For more information, see the OpenGL ES 3.x documentation for-
2898 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetStringi.xml}{glGetStringi()}.-
2899*/-
2900-
2901/*!-
2902 \fn void QOpenGLExtraFunctions::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)-
2903-
2904 Convenience function that calls glGetSynciv(\a sync, \a pname, \a bufSize, \a length, \a values).-
2905-
2906 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2907 with plain OpenGL, the function is only usable when the given profile and version contains the-
2908 function either in core or as an extension.-
2909-
2910 For more information, see the OpenGL ES 3.x documentation for-
2911 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetSynciv.xml}{glGetSynciv()}.-
2912*/-
2913-
2914/*!-
2915 \fn void QOpenGLExtraFunctions::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name)-
2916-
2917 Convenience function that calls glGetTransformFeedbackVarying(\a program, \a index, \a bufSize, \a length, \a size, \a type, \a name).-
2918-
2919 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2920 with plain OpenGL, the function is only usable when the given profile and version contains the-
2921 function either in core or as an extension.-
2922-
2923 For more information, see the OpenGL ES 3.x documentation for-
2924 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetTransformFeedbackVarying.xml}{glGetTransformFeedbackVarying()}.-
2925*/-
2926-
2927/*!-
2928 \fn GLuint QOpenGLExtraFunctions::glGetUniformBlockIndex(GLuint program, const GLchar * uniformBlockName)-
2929-
2930 Convenience function that calls glGetUniformBlockIndex(\a program, \a uniformBlockName).-
2931-
2932 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2933 with plain OpenGL, the function is only usable when the given profile and version contains the-
2934 function either in core or as an extension.-
2935-
2936 For more information, see the OpenGL ES 3.x documentation for-
2937 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetUniformBlockIndex.xml}{glGetUniformBlockIndex()}.-
2938*/-
2939-
2940/*!-
2941 \fn void QOpenGLExtraFunctions::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const* uniformNames, GLuint* uniformIndices)-
2942-
2943 Convenience function that calls glGetUniformIndices(\a program, \a uniformCount, \a uniformNames, \a uniformIndices).-
2944-
2945 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2946 with plain OpenGL, the function is only usable when the given profile and version contains the-
2947 function either in core or as an extension.-
2948-
2949 For more information, see the OpenGL ES 3.x documentation for-
2950 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetUniformIndices.xml}{glGetUniformIndices()}.-
2951*/-
2952-
2953/*!-
2954 \fn void QOpenGLExtraFunctions::glGetUniformuiv(GLuint program, GLint location, GLuint* params)-
2955-
2956 Convenience function that calls glGetUniformuiv(\a program, \a location, \a params).-
2957-
2958 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2959 with plain OpenGL, the function is only usable when the given profile and version contains the-
2960 function either in core or as an extension.-
2961-
2962 For more information, see the OpenGL ES 3.x documentation for-
2963 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetUniformuiv.xml}{glGetUniformuiv()}.-
2964*/-
2965-
2966/*!-
2967 \fn void QOpenGLExtraFunctions::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params)-
2968-
2969 Convenience function that calls glGetVertexAttribIiv(\a index, \a pname, \a params).-
2970-
2971 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2972 with plain OpenGL, the function is only usable when the given profile and version contains the-
2973 function either in core or as an extension.-
2974-
2975 For more information, see the OpenGL ES 3.x documentation for-
2976 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetVertexAttribIiv.xml}{glGetVertexAttribIiv()}.-
2977*/-
2978-
2979/*!-
2980 \fn void QOpenGLExtraFunctions::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params)-
2981-
2982 Convenience function that calls glGetVertexAttribIuiv(\a index, \a pname, \a params).-
2983-
2984 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2985 with plain OpenGL, the function is only usable when the given profile and version contains the-
2986 function either in core or as an extension.-
2987-
2988 For more information, see the OpenGL ES 3.x documentation for-
2989 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetVertexAttribIuiv.xml}{glGetVertexAttribIuiv()}.-
2990*/-
2991-
2992/*!-
2993 \fn void QOpenGLExtraFunctions::glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum * attachments)-
2994-
2995 Convenience function that calls glInvalidateFramebuffer(\a target, \a numAttachments, \a attachments).-
2996-
2997 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
2998 with plain OpenGL, the function is only usable when the given profile and version contains the-
2999 function either in core or as an extension.-
3000-
3001 For more information, see the OpenGL ES 3.x documentation for-
3002 \l{http://www.khronos.org/opengles/sdk/docs/man31/glInvalidateFramebuffer.xml}{glInvalidateFramebuffer()}.-
3003*/-
3004-
3005/*!-
3006 \fn void QOpenGLExtraFunctions::glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height)-
3007-
3008 Convenience function that calls glInvalidateSubFramebuffer(\a target, \a numAttachments, \a attachments, \a x, \a y, \a width, \a height).-
3009-
3010 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3011 with plain OpenGL, the function is only usable when the given profile and version contains the-
3012 function either in core or as an extension.-
3013-
3014 For more information, see the OpenGL ES 3.x documentation for-
3015 \l{http://www.khronos.org/opengles/sdk/docs/man31/glInvalidateSubFramebuffer.xml}{glInvalidateSubFramebuffer()}.-
3016*/-
3017-
3018/*!-
3019 \fn GLboolean QOpenGLExtraFunctions::glIsQuery(GLuint id)-
3020-
3021 Convenience function that calls glIsQuery(\a id).-
3022-
3023 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3024 with plain OpenGL, the function is only usable when the given profile and version contains the-
3025 function either in core or as an extension.-
3026-
3027 For more information, see the OpenGL ES 3.x documentation for-
3028 \l{http://www.khronos.org/opengles/sdk/docs/man31/glIsQuery.xml}{glIsQuery()}.-
3029*/-
3030-
3031/*!-
3032 \fn GLboolean QOpenGLExtraFunctions::glIsSampler(GLuint sampler)-
3033-
3034 Convenience function that calls glIsSampler(\a sampler).-
3035-
3036 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3037 with plain OpenGL, the function is only usable when the given profile and version contains the-
3038 function either in core or as an extension.-
3039-
3040 For more information, see the OpenGL ES 3.x documentation for-
3041 \l{http://www.khronos.org/opengles/sdk/docs/man31/glIsSampler.xml}{glIsSampler()}.-
3042*/-
3043-
3044/*!-
3045 \fn GLboolean QOpenGLExtraFunctions::glIsSync(GLsync sync)-
3046-
3047 Convenience function that calls glIsSync(\a sync).-
3048-
3049 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3050 with plain OpenGL, the function is only usable when the given profile and version contains the-
3051 function either in core or as an extension.-
3052-
3053 For more information, see the OpenGL ES 3.x documentation for-
3054 \l{http://www.khronos.org/opengles/sdk/docs/man31/glIsSync.xml}{glIsSync()}.-
3055*/-
3056-
3057/*!-
3058 \fn GLboolean QOpenGLExtraFunctions::glIsTransformFeedback(GLuint id)-
3059-
3060 Convenience function that calls glIsTransformFeedback(\a id).-
3061-
3062 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3063 with plain OpenGL, the function is only usable when the given profile and version contains the-
3064 function either in core or as an extension.-
3065-
3066 For more information, see the OpenGL ES 3.x documentation for-
3067 \l{http://www.khronos.org/opengles/sdk/docs/man31/glIsTransformFeedback.xml}{glIsTransformFeedback()}.-
3068*/-
3069-
3070/*!-
3071 \fn GLboolean QOpenGLExtraFunctions::glIsVertexArray(GLuint array)-
3072-
3073 Convenience function that calls glIsVertexArray(\a array).-
3074-
3075 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3076 with plain OpenGL, the function is only usable when the given profile and version contains the-
3077 function either in core or as an extension.-
3078-
3079 For more information, see the OpenGL ES 3.x documentation for-
3080 \l{http://www.khronos.org/opengles/sdk/docs/man31/glIsVertexArray.xml}{glIsVertexArray()}.-
3081*/-
3082-
3083/*!-
3084 \fn void * QOpenGLExtraFunctions::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)-
3085-
3086 Convenience function that calls glMapBufferRange(\a target, \a offset, \a length, \a access).-
3087-
3088 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3089 with plain OpenGL, the function is only usable when the given profile and version contains the-
3090 function either in core or as an extension.-
3091-
3092 For more information, see the OpenGL ES 3.x documentation for-
3093 \l{http://www.khronos.org/opengles/sdk/docs/man31/glMapBufferRange.xml}{glMapBufferRange()}.-
3094*/-
3095-
3096/*!-
3097 \fn void QOpenGLExtraFunctions::glPauseTransformFeedback(void)-
3098-
3099 Convenience function that calls glPauseTransformFeedback().-
3100-
3101 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3102 with plain OpenGL, the function is only usable when the given profile and version contains the-
3103 function either in core or as an extension.-
3104-
3105 For more information, see the OpenGL ES 3.x documentation for-
3106 \l{http://www.khronos.org/opengles/sdk/docs/man31/glPauseTransformFeedback.xml}{glPauseTransformFeedback()}.-
3107*/-
3108-
3109/*!-
3110 \fn void QOpenGLExtraFunctions::glProgramBinary(GLuint program, GLenum binaryFormat, const void * binary, GLsizei length)-
3111-
3112 Convenience function that calls glProgramBinary(\a program, \a binaryFormat, \a binary, \a length).-
3113-
3114 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3115 with plain OpenGL, the function is only usable when the given profile and version contains the-
3116 function either in core or as an extension.-
3117-
3118 For more information, see the OpenGL ES 3.x documentation for-
3119 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramBinary.xml}{glProgramBinary()}.-
3120*/-
3121-
3122/*!-
3123 \fn void QOpenGLExtraFunctions::glProgramParameteri(GLuint program, GLenum pname, GLint value)-
3124-
3125 Convenience function that calls glProgramParameteri(\a program, \a pname, \a value).-
3126-
3127 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3128 with plain OpenGL, the function is only usable when the given profile and version contains the-
3129 function either in core or as an extension.-
3130-
3131 For more information, see the OpenGL ES 3.x documentation for-
3132 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramParameteri.xml}{glProgramParameteri()}.-
3133*/-
3134-
3135/*!-
3136 \fn void QOpenGLExtraFunctions::glReadBuffer(GLenum src)-
3137-
3138 Convenience function that calls glReadBuffer(\a src).-
3139-
3140 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3141 with plain OpenGL, the function is only usable when the given profile and version contains the-
3142 function either in core or as an extension.-
3143-
3144 For more information, see the OpenGL ES 3.x documentation for-
3145 \l{http://www.khronos.org/opengles/sdk/docs/man31/glReadBuffer.xml}{glReadBuffer()}.-
3146*/-
3147-
3148/*!-
3149 \fn void QOpenGLExtraFunctions::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)-
3150-
3151 Convenience function that calls glRenderbufferStorageMultisample(\a target, \a samples, \a internalformat, \a width, \a height).-
3152-
3153 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3154 with plain OpenGL, the function is only usable when the given profile and version contains the-
3155 function either in core or as an extension.-
3156-
3157 For more information, see the OpenGL ES 3.x documentation for-
3158 \l{http://www.khronos.org/opengles/sdk/docs/man31/glRenderbufferStorageMultisample.xml}{glRenderbufferStorageMultisample()}.-
3159*/-
3160-
3161/*!-
3162 \fn void QOpenGLExtraFunctions::glResumeTransformFeedback(void)-
3163-
3164 Convenience function that calls glResumeTransformFeedback().-
3165-
3166 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3167 with plain OpenGL, the function is only usable when the given profile and version contains the-
3168 function either in core or as an extension.-
3169-
3170 For more information, see the OpenGL ES 3.x documentation for-
3171 \l{http://www.khronos.org/opengles/sdk/docs/man31/glResumeTransformFeedback.xml}{glResumeTransformFeedback()}.-
3172*/-
3173-
3174/*!-
3175 \fn void QOpenGLExtraFunctions::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)-
3176-
3177 Convenience function that calls glSamplerParameterf(\a sampler, \a pname, \a param).-
3178-
3179 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3180 with plain OpenGL, the function is only usable when the given profile and version contains the-
3181 function either in core or as an extension.-
3182-
3183 For more information, see the OpenGL ES 3.x documentation for-
3184 \l{http://www.khronos.org/opengles/sdk/docs/man31/glSamplerParameterf.xml}{glSamplerParameterf()}.-
3185*/-
3186-
3187/*!-
3188 \fn void QOpenGLExtraFunctions::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat * param)-
3189-
3190 Convenience function that calls glSamplerParameterfv(\a sampler, \a pname, \a param).-
3191-
3192 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3193 with plain OpenGL, the function is only usable when the given profile and version contains the-
3194 function either in core or as an extension.-
3195-
3196 For more information, see the OpenGL ES 3.x documentation for-
3197 \l{http://www.khronos.org/opengles/sdk/docs/man31/glSamplerParameterfv.xml}{glSamplerParameterfv()}.-
3198*/-
3199-
3200/*!-
3201 \fn void QOpenGLExtraFunctions::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param)-
3202-
3203 Convenience function that calls glSamplerParameteri(\a sampler, \a pname, \a param).-
3204-
3205 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3206 with plain OpenGL, the function is only usable when the given profile and version contains the-
3207 function either in core or as an extension.-
3208-
3209 For more information, see the OpenGL ES 3.x documentation for-
3210 \l{http://www.khronos.org/opengles/sdk/docs/man31/glSamplerParameteri.xml}{glSamplerParameteri()}.-
3211*/-
3212-
3213/*!-
3214 \fn void QOpenGLExtraFunctions::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint * param)-
3215-
3216 Convenience function that calls glSamplerParameteriv(\a sampler, \a pname, \a param).-
3217-
3218 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3219 with plain OpenGL, the function is only usable when the given profile and version contains the-
3220 function either in core or as an extension.-
3221-
3222 For more information, see the OpenGL ES 3.x documentation for-
3223 \l{http://www.khronos.org/opengles/sdk/docs/man31/glSamplerParameteriv.xml}{glSamplerParameteriv()}.-
3224*/-
3225-
3226/*!-
3227 \fn void QOpenGLExtraFunctions::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels)-
3228-
3229 Convenience function that calls glTexImage3D(\a target, \a level, \a internalformat, \a width, \a height, \a depth, \a border, \a format, \a type, \a pixels).-
3230-
3231 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3232 with plain OpenGL, the function is only usable when the given profile and version contains the-
3233 function either in core or as an extension.-
3234-
3235 For more information, see the OpenGL ES 3.x documentation for-
3236 \l{http://www.khronos.org/opengles/sdk/docs/man31/glTexImage3D.xml}{glTexImage3D()}.-
3237*/-
3238-
3239/*!-
3240 \fn void QOpenGLExtraFunctions::glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)-
3241-
3242 Convenience function that calls glTexStorage2D(\a target, \a levels, \a internalformat, \a width, \a height).-
3243-
3244 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3245 with plain OpenGL, the function is only usable when the given profile and version contains the-
3246 function either in core or as an extension.-
3247-
3248 For more information, see the OpenGL ES 3.x documentation for-
3249 \l{http://www.khronos.org/opengles/sdk/docs/man31/glTexStorage2D.xml}{glTexStorage2D()}.-
3250*/-
3251-
3252/*!-
3253 \fn void QOpenGLExtraFunctions::glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)-
3254-
3255 Convenience function that calls glTexStorage3D(\a target, \a levels, \a internalformat, \a width, \a height, \a depth).-
3256-
3257 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3258 with plain OpenGL, the function is only usable when the given profile and version contains the-
3259 function either in core or as an extension.-
3260-
3261 For more information, see the OpenGL ES 3.x documentation for-
3262 \l{http://www.khronos.org/opengles/sdk/docs/man31/glTexStorage3D.xml}{glTexStorage3D()}.-
3263*/-
3264-
3265/*!-
3266 \fn void QOpenGLExtraFunctions::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels)-
3267-
3268 Convenience function that calls glTexSubImage3D(\a target, \a level, \a xoffset, \a yoffset, \a zoffset, \a width, \a height, \a depth, \a format, \a type, \a pixels).-
3269-
3270 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3271 with plain OpenGL, the function is only usable when the given profile and version contains the-
3272 function either in core or as an extension.-
3273-
3274 For more information, see the OpenGL ES 3.x documentation for-
3275 \l{http://www.khronos.org/opengles/sdk/docs/man31/glTexSubImage3D.xml}{glTexSubImage3D()}.-
3276*/-
3277-
3278/*!-
3279 \fn void QOpenGLExtraFunctions::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode)-
3280-
3281 Convenience function that calls glTransformFeedbackVaryings(\a program, \a count, \a varyings, \a bufferMode).-
3282-
3283 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3284 with plain OpenGL, the function is only usable when the given profile and version contains the-
3285 function either in core or as an extension.-
3286-
3287 For more information, see the OpenGL ES 3.x documentation for-
3288 \l{http://www.khronos.org/opengles/sdk/docs/man31/glTransformFeedbackVaryings.xml}{glTransformFeedbackVaryings()}.-
3289*/-
3290-
3291/*!-
3292 \fn void QOpenGLExtraFunctions::glUniform1ui(GLint location, GLuint v0)-
3293-
3294 Convenience function that calls glUniform1ui(\a location, \a v0).-
3295-
3296 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3297 with plain OpenGL, the function is only usable when the given profile and version contains the-
3298 function either in core or as an extension.-
3299-
3300 For more information, see the OpenGL ES 3.x documentation for-
3301 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniform1ui.xml}{glUniform1ui()}.-
3302*/-
3303-
3304/*!-
3305 \fn void QOpenGLExtraFunctions::glUniform1uiv(GLint location, GLsizei count, const GLuint * value)-
3306-
3307 Convenience function that calls glUniform1uiv(\a location, \a count, \a value).-
3308-
3309 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3310 with plain OpenGL, the function is only usable when the given profile and version contains the-
3311 function either in core or as an extension.-
3312-
3313 For more information, see the OpenGL ES 3.x documentation for-
3314 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniform1uiv.xml}{glUniform1uiv()}.-
3315*/-
3316-
3317/*!-
3318 \fn void QOpenGLExtraFunctions::glUniform2ui(GLint location, GLuint v0, GLuint v1)-
3319-
3320 Convenience function that calls glUniform2ui(\a location, \a v0, \a v1).-
3321-
3322 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3323 with plain OpenGL, the function is only usable when the given profile and version contains the-
3324 function either in core or as an extension.-
3325-
3326 For more information, see the OpenGL ES 3.x documentation for-
3327 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniform2ui.xml}{glUniform2ui()}.-
3328*/-
3329-
3330/*!-
3331 \fn void QOpenGLExtraFunctions::glUniform2uiv(GLint location, GLsizei count, const GLuint * value)-
3332-
3333 Convenience function that calls glUniform2uiv(\a location, \a count, \a value).-
3334-
3335 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3336 with plain OpenGL, the function is only usable when the given profile and version contains the-
3337 function either in core or as an extension.-
3338-
3339 For more information, see the OpenGL ES 3.x documentation for-
3340 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniform2uiv.xml}{glUniform2uiv()}.-
3341*/-
3342-
3343/*!-
3344 \fn void QOpenGLExtraFunctions::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)-
3345-
3346 Convenience function that calls glUniform3ui(\a location, \a v0, \a v1, \a v2).-
3347-
3348 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3349 with plain OpenGL, the function is only usable when the given profile and version contains the-
3350 function either in core or as an extension.-
3351-
3352 For more information, see the OpenGL ES 3.x documentation for-
3353 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniform3ui.xml}{glUniform3ui()}.-
3354*/-
3355-
3356/*!-
3357 \fn void QOpenGLExtraFunctions::glUniform3uiv(GLint location, GLsizei count, const GLuint * value)-
3358-
3359 Convenience function that calls glUniform3uiv(\a location, \a count, \a value).-
3360-
3361 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3362 with plain OpenGL, the function is only usable when the given profile and version contains the-
3363 function either in core or as an extension.-
3364-
3365 For more information, see the OpenGL ES 3.x documentation for-
3366 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniform3uiv.xml}{glUniform3uiv()}.-
3367*/-
3368-
3369/*!-
3370 \fn void QOpenGLExtraFunctions::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)-
3371-
3372 Convenience function that calls glUniform4ui(\a location, \a v0, \a v1, \a v2, \a v3).-
3373-
3374 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3375 with plain OpenGL, the function is only usable when the given profile and version contains the-
3376 function either in core or as an extension.-
3377-
3378 For more information, see the OpenGL ES 3.x documentation for-
3379 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniform4ui.xml}{glUniform4ui()}.-
3380*/-
3381-
3382/*!-
3383 \fn void QOpenGLExtraFunctions::glUniform4uiv(GLint location, GLsizei count, const GLuint * value)-
3384-
3385 Convenience function that calls glUniform4uiv(\a location, \a count, \a value).-
3386-
3387 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3388 with plain OpenGL, the function is only usable when the given profile and version contains the-
3389 function either in core or as an extension.-
3390-
3391 For more information, see the OpenGL ES 3.x documentation for-
3392 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniform4uiv.xml}{glUniform4uiv()}.-
3393*/-
3394-
3395/*!-
3396 \fn void QOpenGLExtraFunctions::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)-
3397-
3398 Convenience function that calls glUniformBlockBinding(\a program, \a uniformBlockIndex, \a uniformBlockBinding).-
3399-
3400 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3401 with plain OpenGL, the function is only usable when the given profile and version contains the-
3402 function either in core or as an extension.-
3403-
3404 For more information, see the OpenGL ES 3.x documentation for-
3405 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniformBlockBinding.xml}{glUniformBlockBinding()}.-
3406*/-
3407-
3408/*!-
3409 \fn void QOpenGLExtraFunctions::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
3410-
3411 Convenience function that calls glUniformMatrix2x3fv(\a location, \a count, \a transpose, \a value).-
3412-
3413 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3414 with plain OpenGL, the function is only usable when the given profile and version contains the-
3415 function either in core or as an extension.-
3416-
3417 For more information, see the OpenGL ES 3.x documentation for-
3418 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniformMatrix2x3fv.xml}{glUniformMatrix2x3fv()}.-
3419*/-
3420-
3421/*!-
3422 \fn void QOpenGLExtraFunctions::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
3423-
3424 Convenience function that calls glUniformMatrix2x4fv(\a location, \a count, \a transpose, \a value).-
3425-
3426 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3427 with plain OpenGL, the function is only usable when the given profile and version contains the-
3428 function either in core or as an extension.-
3429-
3430 For more information, see the OpenGL ES 3.x documentation for-
3431 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniformMatrix2x4fv.xml}{glUniformMatrix2x4fv()}.-
3432*/-
3433-
3434/*!-
3435 \fn void QOpenGLExtraFunctions::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
3436-
3437 Convenience function that calls glUniformMatrix3x2fv(\a location, \a count, \a transpose, \a value).-
3438-
3439 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3440 with plain OpenGL, the function is only usable when the given profile and version contains the-
3441 function either in core or as an extension.-
3442-
3443 For more information, see the OpenGL ES 3.x documentation for-
3444 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniformMatrix3x2fv.xml}{glUniformMatrix3x2fv()}.-
3445*/-
3446-
3447/*!-
3448 \fn void QOpenGLExtraFunctions::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
3449-
3450 Convenience function that calls glUniformMatrix3x4fv(\a location, \a count, \a transpose, \a value).-
3451-
3452 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3453 with plain OpenGL, the function is only usable when the given profile and version contains the-
3454 function either in core or as an extension.-
3455-
3456 For more information, see the OpenGL ES 3.x documentation for-
3457 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniformMatrix3x4fv.xml}{glUniformMatrix3x4fv()}.-
3458*/-
3459-
3460/*!-
3461 \fn void QOpenGLExtraFunctions::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
3462-
3463 Convenience function that calls glUniformMatrix4x2fv(\a location, \a count, \a transpose, \a value).-
3464-
3465 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3466 with plain OpenGL, the function is only usable when the given profile and version contains the-
3467 function either in core or as an extension.-
3468-
3469 For more information, see the OpenGL ES 3.x documentation for-
3470 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniformMatrix4x2fv.xml}{glUniformMatrix4x2fv()}.-
3471*/-
3472-
3473/*!-
3474 \fn void QOpenGLExtraFunctions::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
3475-
3476 Convenience function that calls glUniformMatrix4x3fv(\a location, \a count, \a transpose, \a value).-
3477-
3478 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3479 with plain OpenGL, the function is only usable when the given profile and version contains the-
3480 function either in core or as an extension.-
3481-
3482 For more information, see the OpenGL ES 3.x documentation for-
3483 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUniformMatrix4x3fv.xml}{glUniformMatrix4x3fv()}.-
3484*/-
3485-
3486/*!-
3487 \fn GLboolean QOpenGLExtraFunctions::glUnmapBuffer(GLenum target)-
3488-
3489 Convenience function that calls glUnmapBuffer(\a target).-
3490-
3491 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3492 with plain OpenGL, the function is only usable when the given profile and version contains the-
3493 function either in core or as an extension.-
3494-
3495 For more information, see the OpenGL ES 3.x documentation for-
3496 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUnmapBuffer.xml}{glUnmapBuffer()}.-
3497*/-
3498-
3499/*!-
3500 \fn void QOpenGLExtraFunctions::glVertexAttribDivisor(GLuint index, GLuint divisor)-
3501-
3502 Convenience function that calls glVertexAttribDivisor(\a index, \a divisor).-
3503-
3504 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3505 with plain OpenGL, the function is only usable when the given profile and version contains the-
3506 function either in core or as an extension.-
3507-
3508 For more information, see the OpenGL ES 3.x documentation for-
3509 \l{http://www.khronos.org/opengles/sdk/docs/man31/glVertexAttribDivisor.xml}{glVertexAttribDivisor()}.-
3510*/-
3511-
3512/*!-
3513 \fn void QOpenGLExtraFunctions::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w)-
3514-
3515 Convenience function that calls glVertexAttribI4i(\a index, \a x, \a y, \a z, \a w).-
3516-
3517 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3518 with plain OpenGL, the function is only usable when the given profile and version contains the-
3519 function either in core or as an extension.-
3520-
3521 For more information, see the OpenGL ES 3.x documentation for-
3522 \l{http://www.khronos.org/opengles/sdk/docs/man31/glVertexAttribI4i.xml}{glVertexAttribI4i()}.-
3523*/-
3524-
3525/*!-
3526 \fn void QOpenGLExtraFunctions::glVertexAttribI4iv(GLuint index, const GLint * v)-
3527-
3528 Convenience function that calls glVertexAttribI4iv(\a index, \a v).-
3529-
3530 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3531 with plain OpenGL, the function is only usable when the given profile and version contains the-
3532 function either in core or as an extension.-
3533-
3534 For more information, see the OpenGL ES 3.x documentation for-
3535 \l{http://www.khronos.org/opengles/sdk/docs/man31/glVertexAttribI4iv.xml}{glVertexAttribI4iv()}.-
3536*/-
3537-
3538/*!-
3539 \fn void QOpenGLExtraFunctions::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)-
3540-
3541 Convenience function that calls glVertexAttribI4ui(\a index, \a x, \a y, \a z, \a w).-
3542-
3543 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3544 with plain OpenGL, the function is only usable when the given profile and version contains the-
3545 function either in core or as an extension.-
3546-
3547 For more information, see the OpenGL ES 3.x documentation for-
3548 \l{http://www.khronos.org/opengles/sdk/docs/man31/glVertexAttribI4ui.xml}{glVertexAttribI4ui()}.-
3549*/-
3550-
3551/*!-
3552 \fn void QOpenGLExtraFunctions::glVertexAttribI4uiv(GLuint index, const GLuint * v)-
3553-
3554 Convenience function that calls glVertexAttribI4uiv(\a index, \a v).-
3555-
3556 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3557 with plain OpenGL, the function is only usable when the given profile and version contains the-
3558 function either in core or as an extension.-
3559-
3560 For more information, see the OpenGL ES 3.x documentation for-
3561 \l{http://www.khronos.org/opengles/sdk/docs/man31/glVertexAttribI4uiv.xml}{glVertexAttribI4uiv()}.-
3562*/-
3563-
3564/*!-
3565 \fn void QOpenGLExtraFunctions::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer)-
3566-
3567 Convenience function that calls glVertexAttribIPointer(\a index, \a size, \a type, \a stride, \a pointer).-
3568-
3569 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3570 with plain OpenGL, the function is only usable when the given profile and version contains the-
3571 function either in core or as an extension.-
3572-
3573 For more information, see the OpenGL ES 3.x documentation for-
3574 \l{http://www.khronos.org/opengles/sdk/docs/man31/glVertexAttribIPointer.xml}{glVertexAttribIPointer()}.-
3575*/-
3576-
3577/*!-
3578 \fn void QOpenGLExtraFunctions::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)-
3579-
3580 Convenience function that calls glWaitSync(\a sync, \a flags, \a timeout).-
3581-
3582 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3583 with plain OpenGL, the function is only usable when the given profile and version contains the-
3584 function either in core or as an extension.-
3585-
3586 For more information, see the OpenGL ES 3.x documentation for-
3587 \l{http://www.khronos.org/opengles/sdk/docs/man31/glWaitSync.xml}{glWaitSync()}.-
3588*/-
3589-
3590/*!-
3591 \fn void QOpenGLExtraFunctions::glActiveShaderProgram(GLuint pipeline, GLuint program)-
3592-
3593 Convenience function that calls glActiveShaderProgram(\a pipeline, \a program).-
3594-
3595 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3596 with plain OpenGL, the function is only usable when the given profile and version contains the-
3597 function either in core or as an extension.-
3598-
3599 For more information, see the OpenGL ES 3.x documentation for-
3600 \l{http://www.khronos.org/opengles/sdk/docs/man31/glActiveShaderProgram.xml}{glActiveShaderProgram()}.-
3601*/-
3602-
3603/*!-
3604 \fn void QOpenGLExtraFunctions::glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)-
3605-
3606 Convenience function that calls glBindImageTexture(\a unit, \a texture, \a level, \a layered, \a layer, \a access, \a format).-
3607-
3608 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3609 with plain OpenGL, the function is only usable when the given profile and version contains the-
3610 function either in core or as an extension.-
3611-
3612 For more information, see the OpenGL ES 3.x documentation for-
3613 \l{http://www.khronos.org/opengles/sdk/docs/man31/glBindImageTexture.xml}{glBindImageTexture()}.-
3614*/-
3615-
3616/*!-
3617 \fn void QOpenGLExtraFunctions::glBindProgramPipeline(GLuint pipeline)-
3618-
3619 Convenience function that calls glBindProgramPipeline(\a pipeline).-
3620-
3621 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3622 with plain OpenGL, the function is only usable when the given profile and version contains the-
3623 function either in core or as an extension.-
3624-
3625 For more information, see the OpenGL ES 3.x documentation for-
3626 \l{http://www.khronos.org/opengles/sdk/docs/man31/glBindProgramPipeline.xml}{glBindProgramPipeline()}.-
3627*/-
3628-
3629/*!-
3630 \fn void QOpenGLExtraFunctions::glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)-
3631-
3632 Convenience function that calls glBindVertexBuffer(\a bindingindex, \a buffer, \a offset, \a stride).-
3633-
3634 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3635 with plain OpenGL, the function is only usable when the given profile and version contains the-
3636 function either in core or as an extension.-
3637-
3638 For more information, see the OpenGL ES 3.x documentation for-
3639 \l{http://www.khronos.org/opengles/sdk/docs/man31/glBindVertexBuffer.xml}{glBindVertexBuffer()}.-
3640*/-
3641-
3642/*!-
3643 \fn GLuint QOpenGLExtraFunctions::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const* strings)-
3644-
3645 Convenience function that calls glCreateShaderProgramv(\a type, \a count, \a strings).-
3646-
3647 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3648 with plain OpenGL, the function is only usable when the given profile and version contains the-
3649 function either in core or as an extension.-
3650-
3651 For more information, see the OpenGL ES 3.x documentation for-
3652 \l{http://www.khronos.org/opengles/sdk/docs/man31/glCreateShaderProgramv.xml}{glCreateShaderProgramv()}.-
3653*/-
3654-
3655/*!-
3656 \fn void QOpenGLExtraFunctions::glDeleteProgramPipelines(GLsizei n, const GLuint * pipelines)-
3657-
3658 Convenience function that calls glDeleteProgramPipelines(\a n, \a pipelines).-
3659-
3660 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3661 with plain OpenGL, the function is only usable when the given profile and version contains the-
3662 function either in core or as an extension.-
3663-
3664 For more information, see the OpenGL ES 3.x documentation for-
3665 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDeleteProgramPipelines.xml}{glDeleteProgramPipelines()}.-
3666*/-
3667-
3668/*!-
3669 \fn void QOpenGLExtraFunctions::glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)-
3670-
3671 Convenience function that calls glDispatchCompute(\a num_groups_x, \a num_groups_y, \a num_groups_z).-
3672-
3673 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3674 with plain OpenGL, the function is only usable when the given profile and version contains the-
3675 function either in core or as an extension.-
3676-
3677 For more information, see the OpenGL ES 3.x documentation for-
3678 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDispatchCompute.xml}{glDispatchCompute()}.-
3679*/-
3680-
3681/*!-
3682 \fn void QOpenGLExtraFunctions::glDispatchComputeIndirect(GLintptr indirect)-
3683-
3684 Convenience function that calls glDispatchComputeIndirect(\a indirect).-
3685-
3686 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3687 with plain OpenGL, the function is only usable when the given profile and version contains the-
3688 function either in core or as an extension.-
3689-
3690 For more information, see the OpenGL ES 3.x documentation for-
3691 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDispatchComputeIndirect.xml}{glDispatchComputeIndirect()}.-
3692*/-
3693-
3694/*!-
3695 \fn void QOpenGLExtraFunctions::glDrawArraysIndirect(GLenum mode, const void * indirect)-
3696-
3697 Convenience function that calls glDrawArraysIndirect(\a mode, \a indirect).-
3698-
3699 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3700 with plain OpenGL, the function is only usable when the given profile and version contains the-
3701 function either in core or as an extension.-
3702-
3703 For more information, see the OpenGL ES 3.x documentation for-
3704 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDrawArraysIndirect.xml}{glDrawArraysIndirect()}.-
3705*/-
3706-
3707/*!-
3708 \fn void QOpenGLExtraFunctions::glDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect)-
3709-
3710 Convenience function that calls glDrawElementsIndirect(\a mode, \a type, \a indirect).-
3711-
3712 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3713 with plain OpenGL, the function is only usable when the given profile and version contains the-
3714 function either in core or as an extension.-
3715-
3716 For more information, see the OpenGL ES 3.x documentation for-
3717 \l{http://www.khronos.org/opengles/sdk/docs/man31/glDrawElementsIndirect.xml}{glDrawElementsIndirect()}.-
3718*/-
3719-
3720/*!-
3721 \fn void QOpenGLExtraFunctions::glFramebufferParameteri(GLenum target, GLenum pname, GLint param)-
3722-
3723 Convenience function that calls glFramebufferParameteri(\a target, \a pname, \a param).-
3724-
3725 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3726 with plain OpenGL, the function is only usable when the given profile and version contains the-
3727 function either in core or as an extension.-
3728-
3729 For more information, see the OpenGL ES 3.x documentation for-
3730 \l{http://www.khronos.org/opengles/sdk/docs/man31/glFramebufferParameteri.xml}{glFramebufferParameteri()}.-
3731*/-
3732-
3733/*!-
3734 \fn void QOpenGLExtraFunctions::glGenProgramPipelines(GLsizei n, GLuint* pipelines)-
3735-
3736 Convenience function that calls glGenProgramPipelines(\a n, \a pipelines).-
3737-
3738 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3739 with plain OpenGL, the function is only usable when the given profile and version contains the-
3740 function either in core or as an extension.-
3741-
3742 For more information, see the OpenGL ES 3.x documentation for-
3743 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGenProgramPipelines.xml}{glGenProgramPipelines()}.-
3744*/-
3745-
3746/*!-
3747 \fn void QOpenGLExtraFunctions::glGetBooleani_v(GLenum target, GLuint index, GLboolean* data)-
3748-
3749 Convenience function that calls glGetBooleani_v(\a target, \a index, \a data).-
3750-
3751 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3752 with plain OpenGL, the function is only usable when the given profile and version contains the-
3753 function either in core or as an extension.-
3754-
3755 For more information, see the OpenGL ES 3.x documentation for-
3756 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetBooleani_v.xml}{glGetBooleani_v()}.-
3757*/-
3758-
3759/*!-
3760 \fn void QOpenGLExtraFunctions::glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint* params)-
3761-
3762 Convenience function that calls glGetFramebufferParameteriv(\a target, \a pname, \a params).-
3763-
3764 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3765 with plain OpenGL, the function is only usable when the given profile and version contains the-
3766 function either in core or as an extension.-
3767-
3768 For more information, see the OpenGL ES 3.x documentation for-
3769 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetFramebufferParameteriv.xml}{glGetFramebufferParameteriv()}.-
3770*/-
3771-
3772/*!-
3773 \fn void QOpenGLExtraFunctions::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat* val)-
3774-
3775 Convenience function that calls glGetMultisamplefv(\a pname, \a index, \a val).-
3776-
3777 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3778 with plain OpenGL, the function is only usable when the given profile and version contains the-
3779 function either in core or as an extension.-
3780-
3781 For more information, see the OpenGL ES 3.x documentation for-
3782 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetMultisamplefv.xml}{glGetMultisamplefv()}.-
3783*/-
3784-
3785/*!-
3786 \fn void QOpenGLExtraFunctions::glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint* params)-
3787-
3788 Convenience function that calls glGetProgramInterfaceiv(\a program, \a programInterface, \a pname, \a params).-
3789-
3790 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3791 with plain OpenGL, the function is only usable when the given profile and version contains the-
3792 function either in core or as an extension.-
3793-
3794 For more information, see the OpenGL ES 3.x documentation for-
3795 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetProgramInterfaceiv.xml}{glGetProgramInterfaceiv()}.-
3796*/-
3797-
3798/*!-
3799 \fn void QOpenGLExtraFunctions::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog)-
3800-
3801 Convenience function that calls glGetProgramPipelineInfoLog(\a pipeline, \a bufSize, \a length, \a infoLog).-
3802-
3803 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3804 with plain OpenGL, the function is only usable when the given profile and version contains the-
3805 function either in core or as an extension.-
3806-
3807 For more information, see the OpenGL ES 3.x documentation for-
3808 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetProgramPipelineInfoLog.xml}{glGetProgramPipelineInfoLog()}.-
3809*/-
3810-
3811/*!-
3812 \fn void QOpenGLExtraFunctions::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint* params)-
3813-
3814 Convenience function that calls glGetProgramPipelineiv(\a pipeline, \a pname, \a params).-
3815-
3816 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3817 with plain OpenGL, the function is only usable when the given profile and version contains the-
3818 function either in core or as an extension.-
3819-
3820 For more information, see the OpenGL ES 3.x documentation for-
3821 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetProgramPipelineiv.xml}{glGetProgramPipelineiv()}.-
3822*/-
3823-
3824/*!-
3825 \fn GLuint QOpenGLExtraFunctions::glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar * name)-
3826-
3827 Convenience function that calls glGetProgramResourceIndex(\a program, \a programInterface, \a name).-
3828-
3829 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3830 with plain OpenGL, the function is only usable when the given profile and version contains the-
3831 function either in core or as an extension.-
3832-
3833 For more information, see the OpenGL ES 3.x documentation for-
3834 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetProgramResourceIndex.xml}{glGetProgramResourceIndex()}.-
3835*/-
3836-
3837/*!-
3838 \fn GLint QOpenGLExtraFunctions::glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar * name)-
3839-
3840 Convenience function that calls glGetProgramResourceLocation(\a program, \a programInterface, \a name).-
3841-
3842 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3843 with plain OpenGL, the function is only usable when the given profile and version contains the-
3844 function either in core or as an extension.-
3845-
3846 For more information, see the OpenGL ES 3.x documentation for-
3847 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetProgramResourceLocation.xml}{glGetProgramResourceLocation()}.-
3848*/-
3849-
3850/*!-
3851 \fn void QOpenGLExtraFunctions::glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar* name)-
3852-
3853 Convenience function that calls glGetProgramResourceName(\a program, \a programInterface, \a index, \a bufSize, \a length, \a name).-
3854-
3855 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3856 with plain OpenGL, the function is only usable when the given profile and version contains the-
3857 function either in core or as an extension.-
3858-
3859 For more information, see the OpenGL ES 3.x documentation for-
3860 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetProgramResourceName.xml}{glGetProgramResourceName()}.-
3861*/-
3862-
3863/*!-
3864 \fn void QOpenGLExtraFunctions::glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei* length, GLint* params)-
3865-
3866 Convenience function that calls glGetProgramResourceiv(\a program, \a programInterface, \a index, \a propCount, \a props, \a bufSize, \a length, \a params).-
3867-
3868 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3869 with plain OpenGL, the function is only usable when the given profile and version contains the-
3870 function either in core or as an extension.-
3871-
3872 For more information, see the OpenGL ES 3.x documentation for-
3873 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetProgramResourceiv.xml}{glGetProgramResourceiv()}.-
3874*/-
3875-
3876/*!-
3877 \fn void QOpenGLExtraFunctions::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat* params)-
3878-
3879 Convenience function that calls glGetTexLevelParameterfv(\a target, \a level, \a pname, \a params).-
3880-
3881 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3882 with plain OpenGL, the function is only usable when the given profile and version contains the-
3883 function either in core or as an extension.-
3884-
3885 For more information, see the OpenGL ES 3.x documentation for-
3886 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetTexLevelParameterfv.xml}{glGetTexLevelParameterfv()}.-
3887*/-
3888-
3889/*!-
3890 \fn void QOpenGLExtraFunctions::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params)-
3891-
3892 Convenience function that calls glGetTexLevelParameteriv(\a target, \a level, \a pname, \a params).-
3893-
3894 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3895 with plain OpenGL, the function is only usable when the given profile and version contains the-
3896 function either in core or as an extension.-
3897-
3898 For more information, see the OpenGL ES 3.x documentation for-
3899 \l{http://www.khronos.org/opengles/sdk/docs/man31/glGetTexLevelParameteriv.xml}{glGetTexLevelParameteriv()}.-
3900*/-
3901-
3902/*!-
3903 \fn GLboolean QOpenGLExtraFunctions::glIsProgramPipeline(GLuint pipeline)-
3904-
3905 Convenience function that calls glIsProgramPipeline(\a pipeline).-
3906-
3907 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3908 with plain OpenGL, the function is only usable when the given profile and version contains the-
3909 function either in core or as an extension.-
3910-
3911 For more information, see the OpenGL ES 3.x documentation for-
3912 \l{http://www.khronos.org/opengles/sdk/docs/man31/glIsProgramPipeline.xml}{glIsProgramPipeline()}.-
3913*/-
3914-
3915/*!-
3916 \fn void QOpenGLExtraFunctions::glMemoryBarrier(GLbitfield barriers)-
3917-
3918 Convenience function that calls glMemoryBarrier(\a barriers).-
3919-
3920 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3921 with plain OpenGL, the function is only usable when the given profile and version contains the-
3922 function either in core or as an extension.-
3923-
3924 For more information, see the OpenGL ES 3.x documentation for-
3925 \l{http://www.khronos.org/opengles/sdk/docs/man31/glMemoryBarrier.xml}{glMemoryBarrier()}.-
3926*/-
3927-
3928/*!-
3929 \fn void QOpenGLExtraFunctions::glMemoryBarrierByRegion(GLbitfield barriers)-
3930-
3931 Convenience function that calls glMemoryBarrierByRegion(\a barriers).-
3932-
3933 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3934 with plain OpenGL, the function is only usable when the given profile and version contains the-
3935 function either in core or as an extension.-
3936-
3937 For more information, see the OpenGL ES 3.x documentation for-
3938 \l{http://www.khronos.org/opengles/sdk/docs/man31/glMemoryBarrierByRegion.xml}{glMemoryBarrierByRegion()}.-
3939*/-
3940-
3941/*!-
3942 \fn void QOpenGLExtraFunctions::glProgramUniform1f(GLuint program, GLint location, GLfloat v0)-
3943-
3944 Convenience function that calls glProgramUniform1f(\a program, \a location, \a v0).-
3945-
3946 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3947 with plain OpenGL, the function is only usable when the given profile and version contains the-
3948 function either in core or as an extension.-
3949-
3950 For more information, see the OpenGL ES 3.x documentation for-
3951 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform1f.xml}{glProgramUniform1f()}.-
3952*/-
3953-
3954/*!-
3955 \fn void QOpenGLExtraFunctions::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat * value)-
3956-
3957 Convenience function that calls glProgramUniform1fv(\a program, \a location, \a count, \a value).-
3958-
3959 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3960 with plain OpenGL, the function is only usable when the given profile and version contains the-
3961 function either in core or as an extension.-
3962-
3963 For more information, see the OpenGL ES 3.x documentation for-
3964 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform1fv.xml}{glProgramUniform1fv()}.-
3965*/-
3966-
3967/*!-
3968 \fn void QOpenGLExtraFunctions::glProgramUniform1i(GLuint program, GLint location, GLint v0)-
3969-
3970 Convenience function that calls glProgramUniform1i(\a program, \a location, \a v0).-
3971-
3972 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3973 with plain OpenGL, the function is only usable when the given profile and version contains the-
3974 function either in core or as an extension.-
3975-
3976 For more information, see the OpenGL ES 3.x documentation for-
3977 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform1i.xml}{glProgramUniform1i()}.-
3978*/-
3979-
3980/*!-
3981 \fn void QOpenGLExtraFunctions::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint * value)-
3982-
3983 Convenience function that calls glProgramUniform1iv(\a program, \a location, \a count, \a value).-
3984-
3985 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3986 with plain OpenGL, the function is only usable when the given profile and version contains the-
3987 function either in core or as an extension.-
3988-
3989 For more information, see the OpenGL ES 3.x documentation for-
3990 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform1iv.xml}{glProgramUniform1iv()}.-
3991*/-
3992-
3993/*!-
3994 \fn void QOpenGLExtraFunctions::glProgramUniform1ui(GLuint program, GLint location, GLuint v0)-
3995-
3996 Convenience function that calls glProgramUniform1ui(\a program, \a location, \a v0).-
3997-
3998 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
3999 with plain OpenGL, the function is only usable when the given profile and version contains the-
4000 function either in core or as an extension.-
4001-
4002 For more information, see the OpenGL ES 3.x documentation for-
4003 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform1ui.xml}{glProgramUniform1ui()}.-
4004*/-
4005-
4006/*!-
4007 \fn void QOpenGLExtraFunctions::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint * value)-
4008-
4009 Convenience function that calls glProgramUniform1uiv(\a program, \a location, \a count, \a value).-
4010-
4011 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4012 with plain OpenGL, the function is only usable when the given profile and version contains the-
4013 function either in core or as an extension.-
4014-
4015 For more information, see the OpenGL ES 3.x documentation for-
4016 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform1uiv.xml}{glProgramUniform1uiv()}.-
4017*/-
4018-
4019/*!-
4020 \fn void QOpenGLExtraFunctions::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1)-
4021-
4022 Convenience function that calls glProgramUniform2f(\a program, \a location, \a v0, \a v1).-
4023-
4024 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4025 with plain OpenGL, the function is only usable when the given profile and version contains the-
4026 function either in core or as an extension.-
4027-
4028 For more information, see the OpenGL ES 3.x documentation for-
4029 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform2f.xml}{glProgramUniform2f()}.-
4030*/-
4031-
4032/*!-
4033 \fn void QOpenGLExtraFunctions::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat * value)-
4034-
4035 Convenience function that calls glProgramUniform2fv(\a program, \a location, \a count, \a value).-
4036-
4037 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4038 with plain OpenGL, the function is only usable when the given profile and version contains the-
4039 function either in core or as an extension.-
4040-
4041 For more information, see the OpenGL ES 3.x documentation for-
4042 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform2fv.xml}{glProgramUniform2fv()}.-
4043*/-
4044-
4045/*!-
4046 \fn void QOpenGLExtraFunctions::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1)-
4047-
4048 Convenience function that calls glProgramUniform2i(\a program, \a location, \a v0, \a v1).-
4049-
4050 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4051 with plain OpenGL, the function is only usable when the given profile and version contains the-
4052 function either in core or as an extension.-
4053-
4054 For more information, see the OpenGL ES 3.x documentation for-
4055 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform2i.xml}{glProgramUniform2i()}.-
4056*/-
4057-
4058/*!-
4059 \fn void QOpenGLExtraFunctions::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint * value)-
4060-
4061 Convenience function that calls glProgramUniform2iv(\a program, \a location, \a count, \a value).-
4062-
4063 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4064 with plain OpenGL, the function is only usable when the given profile and version contains the-
4065 function either in core or as an extension.-
4066-
4067 For more information, see the OpenGL ES 3.x documentation for-
4068 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform2iv.xml}{glProgramUniform2iv()}.-
4069*/-
4070-
4071/*!-
4072 \fn void QOpenGLExtraFunctions::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1)-
4073-
4074 Convenience function that calls glProgramUniform2ui(\a program, \a location, \a v0, \a v1).-
4075-
4076 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4077 with plain OpenGL, the function is only usable when the given profile and version contains the-
4078 function either in core or as an extension.-
4079-
4080 For more information, see the OpenGL ES 3.x documentation for-
4081 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform2ui.xml}{glProgramUniform2ui()}.-
4082*/-
4083-
4084/*!-
4085 \fn void QOpenGLExtraFunctions::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint * value)-
4086-
4087 Convenience function that calls glProgramUniform2uiv(\a program, \a location, \a count, \a value).-
4088-
4089 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4090 with plain OpenGL, the function is only usable when the given profile and version contains the-
4091 function either in core or as an extension.-
4092-
4093 For more information, see the OpenGL ES 3.x documentation for-
4094 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform2uiv.xml}{glProgramUniform2uiv()}.-
4095*/-
4096-
4097/*!-
4098 \fn void QOpenGLExtraFunctions::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)-
4099-
4100 Convenience function that calls glProgramUniform3f(\a program, \a location, \a v0, \a v1, \a v2).-
4101-
4102 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4103 with plain OpenGL, the function is only usable when the given profile and version contains the-
4104 function either in core or as an extension.-
4105-
4106 For more information, see the OpenGL ES 3.x documentation for-
4107 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform3f.xml}{glProgramUniform3f()}.-
4108*/-
4109-
4110/*!-
4111 \fn void QOpenGLExtraFunctions::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat * value)-
4112-
4113 Convenience function that calls glProgramUniform3fv(\a program, \a location, \a count, \a value).-
4114-
4115 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4116 with plain OpenGL, the function is only usable when the given profile and version contains the-
4117 function either in core or as an extension.-
4118-
4119 For more information, see the OpenGL ES 3.x documentation for-
4120 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform3fv.xml}{glProgramUniform3fv()}.-
4121*/-
4122-
4123/*!-
4124 \fn void QOpenGLExtraFunctions::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)-
4125-
4126 Convenience function that calls glProgramUniform3i(\a program, \a location, \a v0, \a v1, \a v2).-
4127-
4128 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4129 with plain OpenGL, the function is only usable when the given profile and version contains the-
4130 function either in core or as an extension.-
4131-
4132 For more information, see the OpenGL ES 3.x documentation for-
4133 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform3i.xml}{glProgramUniform3i()}.-
4134*/-
4135-
4136/*!-
4137 \fn void QOpenGLExtraFunctions::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint * value)-
4138-
4139 Convenience function that calls glProgramUniform3iv(\a program, \a location, \a count, \a value).-
4140-
4141 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4142 with plain OpenGL, the function is only usable when the given profile and version contains the-
4143 function either in core or as an extension.-
4144-
4145 For more information, see the OpenGL ES 3.x documentation for-
4146 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform3iv.xml}{glProgramUniform3iv()}.-
4147*/-
4148-
4149/*!-
4150 \fn void QOpenGLExtraFunctions::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)-
4151-
4152 Convenience function that calls glProgramUniform3ui(\a program, \a location, \a v0, \a v1, \a v2).-
4153-
4154 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4155 with plain OpenGL, the function is only usable when the given profile and version contains the-
4156 function either in core or as an extension.-
4157-
4158 For more information, see the OpenGL ES 3.x documentation for-
4159 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform3ui.xml}{glProgramUniform3ui()}.-
4160*/-
4161-
4162/*!-
4163 \fn void QOpenGLExtraFunctions::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint * value)-
4164-
4165 Convenience function that calls glProgramUniform3uiv(\a program, \a location, \a count, \a value).-
4166-
4167 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4168 with plain OpenGL, the function is only usable when the given profile and version contains the-
4169 function either in core or as an extension.-
4170-
4171 For more information, see the OpenGL ES 3.x documentation for-
4172 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform3uiv.xml}{glProgramUniform3uiv()}.-
4173*/-
4174-
4175/*!-
4176 \fn void QOpenGLExtraFunctions::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)-
4177-
4178 Convenience function that calls glProgramUniform4f(\a program, \a location, \a v0, \a v1, \a v2, \a v3).-
4179-
4180 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4181 with plain OpenGL, the function is only usable when the given profile and version contains the-
4182 function either in core or as an extension.-
4183-
4184 For more information, see the OpenGL ES 3.x documentation for-
4185 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform4f.xml}{glProgramUniform4f()}.-
4186*/-
4187-
4188/*!-
4189 \fn void QOpenGLExtraFunctions::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat * value)-
4190-
4191 Convenience function that calls glProgramUniform4fv(\a program, \a location, \a count, \a value).-
4192-
4193 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4194 with plain OpenGL, the function is only usable when the given profile and version contains the-
4195 function either in core or as an extension.-
4196-
4197 For more information, see the OpenGL ES 3.x documentation for-
4198 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform4fv.xml}{glProgramUniform4fv()}.-
4199*/-
4200-
4201/*!-
4202 \fn void QOpenGLExtraFunctions::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)-
4203-
4204 Convenience function that calls glProgramUniform4i(\a program, \a location, \a v0, \a v1, \a v2, \a v3).-
4205-
4206 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4207 with plain OpenGL, the function is only usable when the given profile and version contains the-
4208 function either in core or as an extension.-
4209-
4210 For more information, see the OpenGL ES 3.x documentation for-
4211 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform4i.xml}{glProgramUniform4i()}.-
4212*/-
4213-
4214/*!-
4215 \fn void QOpenGLExtraFunctions::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint * value)-
4216-
4217 Convenience function that calls glProgramUniform4iv(\a program, \a location, \a count, \a value).-
4218-
4219 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4220 with plain OpenGL, the function is only usable when the given profile and version contains the-
4221 function either in core or as an extension.-
4222-
4223 For more information, see the OpenGL ES 3.x documentation for-
4224 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform4iv.xml}{glProgramUniform4iv()}.-
4225*/-
4226-
4227/*!-
4228 \fn void QOpenGLExtraFunctions::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)-
4229-
4230 Convenience function that calls glProgramUniform4ui(\a program, \a location, \a v0, \a v1, \a v2, \a v3).-
4231-
4232 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4233 with plain OpenGL, the function is only usable when the given profile and version contains the-
4234 function either in core or as an extension.-
4235-
4236 For more information, see the OpenGL ES 3.x documentation for-
4237 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform4ui.xml}{glProgramUniform4ui()}.-
4238*/-
4239-
4240/*!-
4241 \fn void QOpenGLExtraFunctions::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint * value)-
4242-
4243 Convenience function that calls glProgramUniform4uiv(\a program, \a location, \a count, \a value).-
4244-
4245 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4246 with plain OpenGL, the function is only usable when the given profile and version contains the-
4247 function either in core or as an extension.-
4248-
4249 For more information, see the OpenGL ES 3.x documentation for-
4250 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniform4uiv.xml}{glProgramUniform4uiv()}.-
4251*/-
4252-
4253/*!-
4254 \fn void QOpenGLExtraFunctions::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
4255-
4256 Convenience function that calls glProgramUniformMatrix2fv(\a program, \a location, \a count, \a transpose, \a value).-
4257-
4258 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4259 with plain OpenGL, the function is only usable when the given profile and version contains the-
4260 function either in core or as an extension.-
4261-
4262 For more information, see the OpenGL ES 3.x documentation for-
4263 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniformMatrix2fv.xml}{glProgramUniformMatrix2fv()}.-
4264*/-
4265-
4266/*!-
4267 \fn void QOpenGLExtraFunctions::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
4268-
4269 Convenience function that calls glProgramUniformMatrix2x3fv(\a program, \a location, \a count, \a transpose, \a value).-
4270-
4271 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4272 with plain OpenGL, the function is only usable when the given profile and version contains the-
4273 function either in core or as an extension.-
4274-
4275 For more information, see the OpenGL ES 3.x documentation for-
4276 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniformMatrix2x3fv.xml}{glProgramUniformMatrix2x3fv()}.-
4277*/-
4278-
4279/*!-
4280 \fn void QOpenGLExtraFunctions::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
4281-
4282 Convenience function that calls glProgramUniformMatrix2x4fv(\a program, \a location, \a count, \a transpose, \a value).-
4283-
4284 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4285 with plain OpenGL, the function is only usable when the given profile and version contains the-
4286 function either in core or as an extension.-
4287-
4288 For more information, see the OpenGL ES 3.x documentation for-
4289 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniformMatrix2x4fv.xml}{glProgramUniformMatrix2x4fv()}.-
4290*/-
4291-
4292/*!-
4293 \fn void QOpenGLExtraFunctions::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
4294-
4295 Convenience function that calls glProgramUniformMatrix3fv(\a program, \a location, \a count, \a transpose, \a value).-
4296-
4297 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4298 with plain OpenGL, the function is only usable when the given profile and version contains the-
4299 function either in core or as an extension.-
4300-
4301 For more information, see the OpenGL ES 3.x documentation for-
4302 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniformMatrix3fv.xml}{glProgramUniformMatrix3fv()}.-
4303*/-
4304-
4305/*!-
4306 \fn void QOpenGLExtraFunctions::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
4307-
4308 Convenience function that calls glProgramUniformMatrix3x2fv(\a program, \a location, \a count, \a transpose, \a value).-
4309-
4310 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4311 with plain OpenGL, the function is only usable when the given profile and version contains the-
4312 function either in core or as an extension.-
4313-
4314 For more information, see the OpenGL ES 3.x documentation for-
4315 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniformMatrix3x2fv.xml}{glProgramUniformMatrix3x2fv()}.-
4316*/-
4317-
4318/*!-
4319 \fn void QOpenGLExtraFunctions::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
4320-
4321 Convenience function that calls glProgramUniformMatrix3x4fv(\a program, \a location, \a count, \a transpose, \a value).-
4322-
4323 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4324 with plain OpenGL, the function is only usable when the given profile and version contains the-
4325 function either in core or as an extension.-
4326-
4327 For more information, see the OpenGL ES 3.x documentation for-
4328 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniformMatrix3x4fv.xml}{glProgramUniformMatrix3x4fv()}.-
4329*/-
4330-
4331/*!-
4332 \fn void QOpenGLExtraFunctions::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
4333-
4334 Convenience function that calls glProgramUniformMatrix4fv(\a program, \a location, \a count, \a transpose, \a value).-
4335-
4336 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4337 with plain OpenGL, the function is only usable when the given profile and version contains the-
4338 function either in core or as an extension.-
4339-
4340 For more information, see the OpenGL ES 3.x documentation for-
4341 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniformMatrix4fv.xml}{glProgramUniformMatrix4fv()}.-
4342*/-
4343-
4344/*!-
4345 \fn void QOpenGLExtraFunctions::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
4346-
4347 Convenience function that calls glProgramUniformMatrix4x2fv(\a program, \a location, \a count, \a transpose, \a value).-
4348-
4349 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4350 with plain OpenGL, the function is only usable when the given profile and version contains the-
4351 function either in core or as an extension.-
4352-
4353 For more information, see the OpenGL ES 3.x documentation for-
4354 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniformMatrix4x2fv.xml}{glProgramUniformMatrix4x2fv()}.-
4355*/-
4356-
4357/*!-
4358 \fn void QOpenGLExtraFunctions::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)-
4359-
4360 Convenience function that calls glProgramUniformMatrix4x3fv(\a program, \a location, \a count, \a transpose, \a value).-
4361-
4362 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4363 with plain OpenGL, the function is only usable when the given profile and version contains the-
4364 function either in core or as an extension.-
4365-
4366 For more information, see the OpenGL ES 3.x documentation for-
4367 \l{http://www.khronos.org/opengles/sdk/docs/man31/glProgramUniformMatrix4x3fv.xml}{glProgramUniformMatrix4x3fv()}.-
4368*/-
4369-
4370/*!-
4371 \fn void QOpenGLExtraFunctions::glSampleMaski(GLuint maskNumber, GLbitfield mask)-
4372-
4373 Convenience function that calls glSampleMaski(\a maskNumber, \a mask).-
4374-
4375 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4376 with plain OpenGL, the function is only usable when the given profile and version contains the-
4377 function either in core or as an extension.-
4378-
4379 For more information, see the OpenGL ES 3.x documentation for-
4380 \l{http://www.khronos.org/opengles/sdk/docs/man31/glSampleMaski.xml}{glSampleMaski()}.-
4381*/-
4382-
4383/*!-
4384 \fn void QOpenGLExtraFunctions::glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)-
4385-
4386 Convenience function that calls glTexStorage2DMultisample(\a target, \a samples, \a internalformat, \a width, \a height, \a fixedsamplelocations).-
4387-
4388 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4389 with plain OpenGL, the function is only usable when the given profile and version contains the-
4390 function either in core or as an extension.-
4391-
4392 For more information, see the OpenGL ES 3.x documentation for-
4393 \l{http://www.khronos.org/opengles/sdk/docs/man31/glTexStorage2DMultisample.xml}{glTexStorage2DMultisample()}.-
4394*/-
4395-
4396/*!-
4397 \fn void QOpenGLExtraFunctions::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program)-
4398-
4399 Convenience function that calls glUseProgramStages(\a pipeline, \a stages, \a program).-
4400-
4401 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4402 with plain OpenGL, the function is only usable when the given profile and version contains the-
4403 function either in core or as an extension.-
4404-
4405 For more information, see the OpenGL ES 3.x documentation for-
4406 \l{http://www.khronos.org/opengles/sdk/docs/man31/glUseProgramStages.xml}{glUseProgramStages()}.-
4407*/-
4408-
4409/*!-
4410 \fn void QOpenGLExtraFunctions::glValidateProgramPipeline(GLuint pipeline)-
4411-
4412 Convenience function that calls glValidateProgramPipeline(\a pipeline).-
4413-
4414 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4415 with plain OpenGL, the function is only usable when the given profile and version contains the-
4416 function either in core or as an extension.-
4417-
4418 For more information, see the OpenGL ES 3.x documentation for-
4419 \l{http://www.khronos.org/opengles/sdk/docs/man31/glValidateProgramPipeline.xml}{glValidateProgramPipeline()}.-
4420*/-
4421-
4422/*!-
4423 \fn void QOpenGLExtraFunctions::glVertexAttribBinding(GLuint attribindex, GLuint bindingindex)-
4424-
4425 Convenience function that calls glVertexAttribBinding(\a attribindex, \a bindingindex).-
4426-
4427 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4428 with plain OpenGL, the function is only usable when the given profile and version contains the-
4429 function either in core or as an extension.-
4430-
4431 For more information, see the OpenGL ES 3.x documentation for-
4432 \l{http://www.khronos.org/opengles/sdk/docs/man31/glVertexAttribBinding.xml}{glVertexAttribBinding()}.-
4433*/-
4434-
4435/*!-
4436 \fn void QOpenGLExtraFunctions::glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)-
4437-
4438 Convenience function that calls glVertexAttribFormat(\a attribindex, \a size, \a type, \a normalized, \a relativeoffset).-
4439-
4440 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4441 with plain OpenGL, the function is only usable when the given profile and version contains the-
4442 function either in core or as an extension.-
4443-
4444 For more information, see the OpenGL ES 3.x documentation for-
4445 \l{http://www.khronos.org/opengles/sdk/docs/man31/glVertexAttribFormat.xml}{glVertexAttribFormat()}.-
4446*/-
4447-
4448/*!-
4449 \fn void QOpenGLExtraFunctions::glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)-
4450-
4451 Convenience function that calls glVertexAttribIFormat(\a attribindex, \a size, \a type, \a relativeoffset).-
4452-
4453 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4454 with plain OpenGL, the function is only usable when the given profile and version contains the-
4455 function either in core or as an extension.-
4456-
4457 For more information, see the OpenGL ES 3.x documentation for-
4458 \l{http://www.khronos.org/opengles/sdk/docs/man31/glVertexAttribIFormat.xml}{glVertexAttribIFormat()}.-
4459*/-
4460-
4461/*!-
4462 \fn void QOpenGLExtraFunctions::glVertexBindingDivisor(GLuint bindingindex, GLuint divisor)-
4463-
4464 Convenience function that calls glVertexBindingDivisor(\a bindingindex, \a divisor).-
4465-
4466 This function is only available in OpenGL ES 3.x, or OpenGL 3.x or 4.x contexts. When running-
4467 with plain OpenGL, the function is only usable when the given profile and version contains the-
4468 function either in core or as an extension.-
4469-
4470 For more information, see the OpenGL ES 3.x documentation for-
4471 \l{http://www.khronos.org/opengles/sdk/docs/man31/glVertexBindingDivisor.xml}{glVertexBindingDivisor()}.-
4472*/-
4473-
4474/*!-
4475 \fn bool QOpenGLExtraFunctions::isInitialized(const QOpenGLExtraFunctionsPrivate *d)-
4476 \internal-
4477*/-
4478-
4479-
4480/*!-
4481 Constructs a default function resolver. The resolver cannot be used until-
4482 \l {QOpenGLFunctions::}{initializeOpenGLFunctions()} is called to specify-
4483 the context.-
4484*/-
4485QOpenGLExtraFunctions::QOpenGLExtraFunctions()-
4486{-
4487}-
4488-
4489/*!-
4490 Constructs a function resolver for context. If \a context is null, then-
4491 the resolver will be created for the current QOpenGLContext.-
4492-
4493 The context or another context in the group must be current.-
4494-
4495 An object constructed in this way can only be used with context and other-
4496 contexts that share with it. Use \l {QOpenGLFunctions::}-
4497 {initializeOpenGLFunctions()} to change the object's context association.-
4498*/-
4499QOpenGLExtraFunctions::QOpenGLExtraFunctions(QOpenGLContext *context)-
4500 : QOpenGLFunctions(context)-
4501{-
4502}
never executed: end of block
0
4503-
4504QOpenGLExtraFunctionsPrivate::QOpenGLExtraFunctionsPrivate(QOpenGLContext *ctx)-
4505 : QOpenGLFunctionsPrivate(ctx)-
4506{-
4507 init(ctx);-
4508}
never executed: end of block
0
4509-
4510QT_OPENGL_IMPLEMENT(QOpenGLExtraFunctionsPrivate, QT_OPENGL_EXTRA_FUNCTIONS)
never executed: end of block
never executed: end of block
i < +1 +1 +1 +...+1 +1 +1 +1 +1Description
TRUEnever evaluated
FALSEnever evaluated
0
4511-
4512QOpenGLExtensionsPrivate::QOpenGLExtensionsPrivate(QOpenGLContext *ctx)-
4513 : QOpenGLExtraFunctionsPrivate(ctx),-
4514 flushVendorChecked(false)-
4515{-
4516 QOpenGLContext *context = QOpenGLContext::currentContext();-
4517-
4518 MapBuffer = RESOLVE(MapBuffer);-
4519 GetBufferSubData = RESOLVE(GetBufferSubData);-
4520 DiscardFramebuffer = RESOLVE(DiscardFramebuffer);-
4521 }
never executed: end of block
0
4522-
4523void QOpenGLExtensions::flushShared()-
4524{-
4525 Q_D(QOpenGLExtensions);-
4526-
4527 if (!d->flushVendorChecked) {
!d->flushVendorCheckedDescription
TRUEnever evaluated
FALSEnever evaluated
0
4528 d->flushVendorChecked = true;-
4529 // It is not quite clear if glFlush() is sufficient to synchronize access to-
4530 // resources between sharing contexts in the same thread. On most platforms this-
4531 // is enough (e.g. iOS explicitly documents it), while certain drivers only work-
4532 // properly when doing glFinish().-
4533 d->flushIsSufficientToSyncContexts = false; // default to false, not guaranteed by the spec-
4534 const char *vendor = (const char *) glGetString(GL_VENDOR);-
4535 if (vendor) {
vendorDescription
TRUEnever evaluated
FALSEnever evaluated
0
4536 static const char *const flushEnough[] = { "Apple", "ATI", "Intel", "NVIDIA" };-
4537 for (size_t i = 0; i < sizeof(flushEnough) / sizeof(const char *); ++i) {
i < sizeof(flu...(const char *)Description
TRUEnever evaluated
FALSEnever evaluated
0
4538 if (strstr(vendor, flushEnough[i])) {
strstr(vendor, flushEnough[i])Description
TRUEnever evaluated
FALSEnever evaluated
0
4539 d->flushIsSufficientToSyncContexts = true;-
4540 break;
never executed: break;
0
4541 }-
4542 }
never executed: end of block
0
4543 }
never executed: end of block
0
4544 }
never executed: end of block
0
4545-
4546 if (d->flushIsSufficientToSyncContexts)
d->flushIsSuff...ToSyncContextsDescription
TRUEnever evaluated
FALSEnever evaluated
0
4547 glFlush();
never executed: glFlush();
0
4548 else-
4549 glFinish();
never executed: glFinish();
0
4550}-
4551-
4552QT_END_NAMESPACE-
Source codeSwitch to Preprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9